Как исправить: обработчик "PageHandlerFactory-Integrated" имеет плохой модуль "ManagedPipelineHandler" в своем списке модулей

Я настраиваю проект 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) без принятия этого дополнительного шага?

Ответ 1

Оказывается, это связано с тем, что 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

Повторить запуск командной строки как администратора (CTRL + SHIFT + ENTER)

Ответ 2

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

Чтобы решить эту проблему, попробуйте следующее:

  • Убедитесь, что ваша установка .NET 4.0 не повреждена (запустите программу установки и "Восстановите" ). Там также есть шанс, что он вообще не установлен на вашем компьютере.

  • Если вы уверены, что у вас нет установленного .NET 4.0 и хотите запустить его как .NET 2.0, попробуйте this:

Если вы видите сообщение "Aspnet_regiis.exe не распознается как внутренняя или внешняя команда, оперативная программа или командный файл.", переключатель к C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Aspnet_regiis.exe -iв командной строке.

Ответ 3

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

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

Ответ 4

Ошибка: обработчик "PageHandlerFactory-Integrated" имеет плохой модуль "ManagedPipelineHandler" в своем списке модулей

Я нашел статьи для исправления этой проблемы, просто запустив следующие команды в командной строке.

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

Если система 32 бит, она выглядела бы так:

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

Но когда я попытался выполнить эти команды с помощью приглашения cmd, я получил следующее сообщение об ошибке/предупреждении:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319 > aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS версия 4.0.30319.33440 Утилита администрирования для установки и удаления ASP.NET на локальном машина. Авторское право (C) Корпорация Microsoft. Все права защищены. Запустите установку ASP.NET(4.0.30319.33440). Эта опция не поддерживается в этой версии операционной системы. Администраторы должны вместо этого устанавливать/удалять ASP.NET 4.5 с помощью IIS8 с помощью диалогового окна "Включить/выключить функции" Включение Win dows ", инструмента управления менеджером сервера или инструмента командной строки dis.e xe. Для получения дополнительной информации см. http://go.microsoft.com/fwlin k/? LinkID = 216771. Завершена установка ASP.NET(4.0.30319.33440).

Чтобы исправить это в Windows 8.1, я бы предложил сделать следующее.

Решение:

Перейти к - Включить или отключить функции Windows > Информационные службы Интернетa > Услуги World Wide Web > Возможности разработки приложений > Включить ASP.NET 4.5

Это должно решить проблему.

Ответ 5

Я также должен сначала проверить очевидность: пул приложений установлен в правильную структуру и что ваше приложение IIS фактически указывает на папку, в которую вы помещаете свои файлы

Ответ 6

Если вы хотите развернуть приложение MVC без установки MVC, развернуть DLL MVC с вашим приложением. Это связано с установкой MVC 3. Вы можете использовать функции в некоторых пространствах имен .Net 4.0, не устанавливая .Net, используя аналогичный подход.

Ответ 7

Я добавил пути ISAPI/CGI для .Net 4. Это не устранило проблему. Поэтому я выполнил ремонт на .Net V4 (Client и Extended). Который попросил перезагрузки. Это исправило это для меня.

Ответ 8

Чтобы исправить это на машине Windows 8.1 Professional, выполните следующие действия.

  • Установите установщик веб-платформы. http://www.microsoft.com/web/downloads/platform.aspx

  • В установщике веб-платформы установите ASP.NET 4.5 (эта функция имеет одну зависимость).

Если вы просто попробуете вышеупомянутую команду подсказки cmd из самого популярного ответа, вы получите следующее сообщение об ошибке/предупреждении:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319 > aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS версия 4.0.30319.33440 Утилита администрирования для установки и удаления ASP.NET на локальном компьютере. Авторское право (C) Корпорация Microsoft. Все права защищены. Запустите установку ASP.NET(4.0.30319.33440). Эта опция не поддерживается в этой версии операционной системы. Administr аторам следует вместо этого установить/удалить ASP.NET 4.5 с помощью IIS8 с помощью "Turn Win dows Features On/Off ", инструмент управления диспетчером сервера или dis.e xe инструмент командной строки. Для получения дополнительной информации см. http://go.microsoft.com/fwlin к /? LinkID = 216771. Завершена установка ASP.NET(4.0.30319.33440).

Ответ 9

Я попытался сделать aspnet_regiis в командной строке, но получил ответ, что у меня нет прав администратора. Затем, после еще нескольких поисковых запросов и поиска решения, я попытался щелкнуть правой кнопкой мыши cmd и запустить его в качестве администратора. Подтверждено да, когда появился диалог, снова запустил aspnet_iis ant работал как шарм. Вкратце: 1. проверить .NET framework в app_pool 2. Запустите cmd как администратор 3. Запустите aspnet_regiis -i

Ответ 10

У меня была та же проблема, и я решил:

Перейдите к разделу "Включение и выключение функций Windows" > "Информационные службы Интернета" > "Всемирные веб-службы" > "Возможности разработки приложений" > "Включить ASP.NET 4.5

Ответ 11

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

Ответ 12

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

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

Решено путем исправления коллекции URL-адреса приложенияInitialization на веб-сайте .NET.

Ответ 13

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

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

Ответ 14

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

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

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

Ответ 15

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

<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], моя проблема исчезла.

Ответ 16

В некоторых случаях эта ошибка возникает из-за повреждения конфигурации 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

Ответ 18

У меня была эта проблема на одном из моих веб-серверов при попытке переключить приложение из классического в интегрированное. Он отлично работал на двух моих других веб-серверах, а не только на этом. Это 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" />

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

Ответ 19

  1. запустить cmd

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

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

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

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

Удачи!