Подтвердить что ты не робот

Ошибка ASP.NET IIS 7.5 HTTP 500.21

У меня возникла проблема с настройкой локального сайта.

В проекте используется ASP.NET Framework 4.0, и у меня есть DefaultAppPool для использования 4.0 с управляемым конвейером в качестве интегрированного.

Это ошибка, которую я получаю:

HTTP Error 500.21 - Internal Server Error
Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list

Module  IIS Web Core
Notification    ExecuteRequestHandler
Handler PageHandlerFactory-Integrated
Error Code  0x8007000d
Requested URL   http://localhost:80/default.aspx
Physical Path   C:\Snugabye\Website\default.aspx
Logon Method    Anonymous
Logon User  Anonymous

Most likely causes:
Managed handler is used; however, ASP.NET is not installed or is not installed completely.
There is a typographical error in the configuration for the handler module list.

Things you can try:
Install ASP.NET if you are using managed handler.
Ensure that the handler module name is specified correctly. Module names are case-sensitive and use the format modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule".

В разделе "Панель управления" → "Программы" → "Включить/выключить" окна включены все, что я вижу, это Microsoft.NET Framework 3.5.1, и ничего о 4.0 нет, я чего-то не хватает?

4b9b3361

Ответ 1

Вы зарегистрировали .NET с помощью IIS? Если не выполняются следующие команды:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

Вам нужно сделать это из командной строки с повышенными правами (... запустите как admin).

Ответ 2

Я предполагаю, что на основе вашей версии .NET вы находитесь в Windows 7.

В соответствии с .NET 4.0 Версии и зависимости:

(.NET 4.0) Не установлен как часть операционной системы Windows, но может быть установленных отдельно в Windows XP, Windows Server 2003 и более поздних версиях версии Windows.

Следуйте за этой ссылкой для установщика .NET 4.0

После установки вам может потребоваться дополнительная конфигурация. См. этот пост в блоге.

Выдержки из сообщения в блоге в случае потери ссылки:

После установки .NET Framework 4.0 на компьютере есть несколько изменений конфигурации, которые необходимо выполнить для IIS, чтобы запустить страницу ASP.NET 4.0:

Сначала установите пул приложений для запуска в режиме ASP.NET версии 4.0.

Затем вам нужно разрешить запуск ASP.NET v4.0.x. Это делается в ограничениях ISAPI и CGI, установленных на уровне сервера.

(Перейдите в раздел "Администрирование" > "Диспетчер служб Интернета" > "Щелкните на сервере", затем откройте "Ограничения ISAPI и CGI" > "Найти ASP.NET V4.0.XXX", убедитесь, что для ограничения установлено значение "Разрешено". Если установлено значение "Не разрешено", дважды щелкните его и проверьте, разрешен ли путь расширения. Нажмите ОК.)

Примечание. В зависимости от порядка установки вам также может потребоваться запустить aspnet_regiis.exe -i из командной строки для "переустановки" ASP.NET в IIS.

Инструкции по настройке ограничений ISAPI и CGI для IIS 7.5 для различных вариантов Windows.

Ответ 3

Я столкнулся с той же проблемой. Когда я проверил в версии платформы App Pool.NET, он был v2.0. Мое приложение было совместимо с 4.0. Я побежал ниже команд, которые исправили проблему, и теперь я могу получить свои веб-службы

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

Однако после запуска этих команд фреймворк .NET по умолчанию также изменился на v4.0