Как исправить: обработчик "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, выполните следующие действия.
Если вы просто попробуете вышеупомянутую команду подсказки 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
Ответ 17
Чтобы решить проблему, попробуйте восстановить .net framework 4, а затем запустите команду
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
введите здесь описание изображения
Ответ 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
-
запустить cmd
-
перетащите Aspnet_regiis.exe
в командную строку из:
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
-
введите -i
(например, Aspnet_regiis.exe -i
)
-
нажмите ввод
- дождитесь завершения процесса
Удачи!