Как исправить: обработчик «PageHandlerFactory-Integrated» имеет неверный модуль «ManagedPipelineHandler» в списке модулей - PullRequest
539 голосов
/ 27 июля 2011

Я настраиваю проект MVC 3 для работы в локальной установке IIS и обнаружил следующую ошибку 500:

В обработчике «PageHandlerFactory-Integrated» имеется неисправный модуль «ManagedPipelineHandler» всписок модулей.

Оказывается, это потому, что ASP.Net не был полностью установлен с IIS, хотя я установил этот флажок в диалоговом окне «Добавить функцию».Чтобы это исправить, я просто запустил следующую команду в командной строке

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

Если бы я работал в 32-битной системе, это выглядело бы следующим образом:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

У меня вопрос, есть ли способ установить IIS на Windows 7, чтобы использовать .NET 4.0 (MVC 3) без этого дополнительного шага?

Ответы [ 19 ]

1 голос
/ 15 января 2014

-Использование функции инициализации приложения -просмотр неправильных страниц (.asp) из-за наследования конфигурации

500.21 произойдет только при первом подключении пользователя. Последующие соединения работают.

Решено путем исправления коллекции url applicationInitialization на веб-сайте .NET.

1 голос
/ 26 ноября 2013

У меня была похожая проблема с Windows server 2012, установка функции " Сервер приложений " в диспетчере серверов устранила проблему.

0 голосов
/ 29 июня 2019
  1. запустите cmd

  2. перетащите Aspnet_regiis.exe в командную строку из:

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
    
  3. введите -i (например, Aspnet_regiis.exe -i)

  4. нажмите ввод

  5. и дождитесь завершения процесса

Удачи!

0 голосов
/ 16 июня 2017

У меня возникла эта проблема на одном из моих веб-серверов при попытке переключить пул приложений с классического на интегрированный.Он отлично работал на двух других моих веб-серверах, а не только на этом.Это Server 2012, поэтому вы не можете выполнить aspnet_regiis, и не было папки setupcache, чтобы попытаться это исправить.Все было настроено правильно под функциями.

После прохождения% windir% \ system32 \ inetsrv \ config \ applicationHost.config я обнаружил один критический пропущенный бит.Под моим нерабочим из них отсутствовали следующие две строки:

        <add name="ManagedEngineV4.0_32bit" image="C:\Windows\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
        <add name="ManagedEngineV4.0_64bit" image="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />

Как только я их добавил, все отлично заработало.

0 голосов
/ 14 мая 2017

Чтобы решить эту проблему, попробуйте восстановить .net framework 4, а затем выполните команду

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

введите описание изображения здесь

0 голосов
/ 15 февраля 2013

У меня возникла эта проблема, и я обнаружил, что удаление следующей папки помогло даже в неэкспресс-выпуске. Express:

C:\Users\<user>\Documents\IISExpress

0 голосов
/ 15 мая 2015

в некоторых случаях эта ошибка возникает из-за повреждения конфигурации Microsoft .NET Framework 4.0 для ASP .NET, которая может возникнуть, если Microsoft Visual Studio 2012 была установлена ​​до Visual Studio 2010 или Microsoft SQL Server 2008.

Попробовав разные вещи, я пришел к выводу, восстановите установку .Net, выполнив следующую команду. Для получения дополнительной информации перейдите по ссылке.

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SetupCache\v4.5.51209\setup.exe /repair /x86 /x64 /ia64 /norestart

https://msdn.microsoft.com/en-us/library/hh168535(v=nav.80).aspx

0 голосов
/ 17 июня 2014

У меня была такая же проблема, в моем случае обработчик был в двух местах:

<system.web>
...
<httpHandlers>
 <add verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI" />
  </httpHandlers>
</system.web>

<system.webServer>
<handlers>
   ...
  <add name="FrontController" verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI"/>
</handlers>
</system.webServer>

И когда я удалил свой обработчик из [system.webServer], моя проблема исчезла.

0 голосов
/ 29 августа 2013

Ничто из этого не сработало для меня.Поэтому, поскольку я сравнил различные пулы приложений с одним, который работал с тем, который не работал, мне пришлось перейти в Дополнительные настройки для пула приложений и установить

Включить 32-разрядные приложения = true

Тогда все работало нормально!

...