Я получаю сообщение об ошибке:
Ошибка HTTP 500.21 - Внутренний обработчик ошибок сервера CloudConnectHandler имеет неверный модуль ManagedPipelineHandler в списке модулей.
мой файл web.config выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="CloudConnectHandler" verb="*" path="CloudConnect.aspx" type="CloudConnectHandler" resourceType="Unspecified" />
</handlers>
</system.webServer>
<system.web>
<customErrors mode="Off" />
<compilation debug="true" targetFramework="4.0" batch="false">
<assemblies>
<add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
</assemblies>
</compilation>
<pages>
<controls>
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
</controls>
</pages>
<identity impersonate="true" />
<authentication mode="Forms" />
</system.web>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<providerOption name="CompilerVersion" value="v4.0" />
<providerOption name="WarnAsError" value="false" />
</compiler>
</compilers>
</system.codedom>
<appSettings>
<add key="CloudConnectAuthorization" value="xxxx" />
<add key="ConnectionInfo" value="xxxx" />
<add key="ConnectionString" value="xxxx" />
<add key="DefaultChannel" value="xxxx" />
<add key="LoginValidationConnectionString" value="xxxx" />
</appSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="protobuf-net" publicKeyToken="257b51d87d2e4d67" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.640" newVersion="2.0.0.640" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Существует множество советов, указывающих на то, что asp.net установлен неправильно. Обычное исправление - запустить:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
или же
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
Я запустил оба без ошибок. Я перезапустил IIS, но проблема не исчезла. Сайт использует пул приложений. Пул приложений запущен, .net framework = 4.0, Managed Pipeline = Classic, Identity = LocalSystem.
Последние пару часов я потратил, пытаясь понять, в чем проблема. Я надеюсь, что кто-нибудь может помочь.
Пожалуйста, выполните следующие действия:
1) Запустите командную строку от имени администратора.
2) Введите в командной строке одну из двух строк ниже:
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
или же
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
источник
Я столкнулся с этой ошибкой в свежей сборке Windows Server 2012 R2. IIS и .NET 4.5 были установлены, но роль сервера ASP.NET (версия 4.5 в моем случае) не была добавлена. Убедитесь, что нужная вам версия ASP.NET была добавлена / установлена, как ASP.NET 4.5 на этом снимке экрана.
источник
Чтобы решить проблему, я попытался запустить
% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -i
Однако у меня это не сработало. Мне нужно запустить другую командную строку в окне CMD от имени администратора. Вот команда:
или же
Надеюсь, это поможет.
источник
%
с самого начала. Так что я побежал:dism /online /enable-feature /featurename:IIS-ASPNET45 /all
.Я получил эту ошибку в своем приложении ASP.Net 4.5 на Windows Server 2012 R2.
Перейдите в меню «Пуск» -> «Включение или отключение функций Windows». Ко мне подошел волшебник.
Щелкните Next to Server Roles
Мне пришлось проверить их, чтобы заставить это работать, расположенный в разделе Веб-сервер IIS-> Веб-сервер-> Разработка приложений (они основаны на ответе Джереми Кука выше):
Затем щелкните рядом с «Возможности» и убедитесь, что отмечены следующие флажки:
Затем нажмите «Далее» и «Установить». На этом этапе ошибка исчезла для меня. Удачи!
источник
Это связано с тем, что IIS 7 использует обработчики http как от, так
<system.web><httpHandlers>
и от<system.webServer><handlers>
. если вам нужен CloudConnectHandler в вашем приложении, вам следует добавить<httpHandlers>
раздел с этим обработчиком в<system.web>
:<httpHandlers> <add verb="*" path="CloudConnect.aspx" type="CloudConnectHandler" /> </httpHandlers>
а также добавить
preCondition
атрибут в обработчик в<system.webServer>
:<handlers> <add name="CloudConnectHandler" verb="*" path="CloudConnect.aspx" type="CloudConnectHandler" preCondition="integratedMode" /> </handlers>
Надеюсь, поможет
источник
Что касается меня, я получал это сообщение об ошибке при использовании
PUT
илиDELETE
в WebAPI. Я также попытался перерегистрировать .NET Framework, как было предложено, но безрезультатно.Я смог исправить это, отключив WebDAV для моего индивидуального пула приложений, это остановило ошибку `` плохой модуль '' при использовании
PUT
илиDELETE
.Отключить WebDAV для отдельного пула приложений:
WebDAV Authoring Tools
в спискеDisable WebDAV
в правом верхнем углу.По этой ссылке я нашел инструкции, но они не очень понятны.
источник
У меня была эта проблема в Windows 10, когда мне понадобился IIS вместо IIS Express. Новый веб-проект завершился ошибкой OP. Исправление было
Control Panel > Turn Windows Features on or off > Internet Information Services > World Wide Web Services > Application Development Features
галочка
ASP.NET 4.7
(в моем случае)источник
У меня возникала эта проблема каждый раз, когда я развертывал новый веб-сайт или обновлял существующий с помощью MSDeploy .
Мне удалось исправить это, выгрузив домен приложения с помощью MSDeploy со следующим синтаксисом:
msdeploy.exe -verb:sync -source:recycleApp -dest:recycleApp="Default Web Site/myAppName",recycleMode=UnloadAppDomain
Вы также можете остановить, запустить или перезапустить пул приложений - подробнее здесь: http://technet.microsoft.com/en-us/library/ee522997%28v=ws.10%29.aspx
Хотя решение Armaan помогло мне разобраться, проблема не исчезла навсегда.
источник
если это IIS 8, перейдите в панель управления, включите / выключите функции Windows и включите «Плохая активация именованного канала», затем перезапустите IIS. Надеюсь, то же самое работает с IIS 7
источник
Я обнаружил, что порядок добавления ролей и функций важен. В новой системе я активирую роль «сервер приложений» и там явно проверяю .net, поддержку веб-сервера и, наконец, процесс активации службы. Затем автоматически появляется диалог о том, что роль «веб-сервер» также необходимо добавить.
источник
Установите .NET framework, как показано ниже, он также будет работать с .NET версии 4.5 .
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir
Некоторое время только дать
aspnet_regiis.exe -i
не работать, поэтому уступитеaspnet_regiis.exe -ir
указанному пути.источник