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


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

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

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

%windir%Microsoft.NETFramework64v4.0.30319aspnet_regiis.exe -i

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

%windir%Microsoft.NETFrameworkv4.0.21006aspnet_regiis.exe -i

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

18 535

18 ответов:

оказывается, это потому, что 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+введите)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

устранение:

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

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

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

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

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

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

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

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

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

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

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

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

перейдите в раздел "включение и выключение компонентов Windows" > службы Internet Information Services > службы World Wide Web > функции разработки приложений >включить ASP.NET 4.5

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

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

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

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

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

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

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

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

затем он работал нормально!

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

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

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

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

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

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

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

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