Как исправить: обработчик "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 ответов
оказывается, это потому, что 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
Remeber для запуска командной строки от имени администратора (CTRL+SHIFT+ENTER)
принятый ответ правильный, однако иногда вы получите "команду aspnet_regiis.exe не является внутренней или внешней командой, исполняемой программой или пакетным файлом." сообщение об ошибке.
чтобы решить эту проблему, попробуйте следующее:
убедитесь, что ваша установка .NET 4.0 не повреждена (запустите установщик и "восстановите" его). Также есть вероятность, что он вообще не установлен на вашем компьютере.
Если вы уверены, что у вас нет .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 - я!--3-->
но, когда я попытался выполнить эти команды с помощью командной строки cmd, я получил следующее сообщение об ошибке / предупреждении:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -I Microsoft (R) ASP.NET RegIIS версии 4.0.30319.33440 утилита администрирования для установки и удаления ASP.NET на местной машине. Copyright (C) Корпорация Майкрософт. Все права защищены. Начать установку ASP.NET (4.0.30319.33440). Эта опция не поддерживается в данной версии операционной системы. Вместо этого администраторы должны установить/удалить ASP.NET 4.5 с помощью IIS8 с помощью диалогового окна "включение/выключение функций Win dows", средства управления Server Manager или dism.инструмент командной строки Е-хе. Для больше деталей пожалуйста см. http://go.microsoft.com/fwlin k/?LinkID=216771. Закончена установка ASP.NET (4.0.30319.33440).
исправить на Windows 8.1 я бы предложил сделать следующее вещь.
устранение:
перейти к-включение или выключение компонентов Windows > информационные службы Интернета > World Wide Web Services > функции разработки приложений >включить ASP.NET 4.5
Это должно решить проблему.
Если вы хотите развернуть приложение MVC без установки MVC, вы можете разверните DLL MVC с вашим приложением. Это позволяет обойти установку MVC 3. Вы можете использовать функции в некоторых пространствах имен .Net 4.0 без установки .Net с помощью аналогичного подхода.
Я добавил пути ISAPI/CGI для .Net 4. Что не исправило проблему. Поэтому я запустил ремонт на .Net V4 (клиентской и расширенной) установке. Который попросил перезагрузку. Это все исправило.
Я бы также сначала проверил очевидное: что пул приложений установлен на правильную структуру и что ваше приложение IIS фактически указывает на папку, в которую вы помещаете свои файлы
исправить на 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 -я Microsoft (R) ASP.NET RegIIS версия 4.0.30319.33440 Утилита администрирования для установки и удаления ASP.NET на местной машине. Copyright (C) Корпорация Майкрософт. Все права защищены. Начать установку ASP.NET (4.0.30319.33440). эта опция не поддерживается в данной версии операционной системы. Administr вместо этого ators следует установить/удалить ASP.NET 4.5 с помощью IIS8 с помощью " Turn Win диалоговое окно" функции dows Вкл/Выкл", средство управления Диспетчер серверов или dism.ми инструмент командной строки Хе. Для больше деталей пожалуйста см. http://go.microsoft.com/fwlin к/?LinkID=216771. Закончена установка ASP.NET (4.0.30319.33440).
Я попытался сделать aspnet_regiis в командной строке, но я получил ответ, что у меня нет прав администратора. Затем, после еще нескольких поисков и поиска решения, я попытался щелкнуть правой кнопкой мыши cmd и запустить его как администратор. Подтвердил Да, когда появился диалог, ran aspnet_iis снова ant работал как шарм. Вкратце: 1. проверить .Net в app_pool 2. запустите cmd от имени администратора 3. запустите aspnet_regiis-i
У меня была такая же проблема, и мое решение было:
перейдите в раздел "включение и выключение компонентов Windows" > информационные службы интернета > веб-службы World Wide > функции разработки приложений >включить ASP.NET 4.5
У меня была аналогичная проблема с Windows server 2012, установив функцию"Сервер Приложений " в диспетчере серверов Исправлена ошибка.
-с помощью функции initalization приложения - запрос неправильных страниц (.asp) из-за наследования конфигурации
500.21 произойдет только при первом подключении пользователя. Последующие соединения работают.
устранено путем исправления коллекции url-адресов applicationInitialization на веб-сайте .NET.
У меня была эта проблема, и я обнаружил, что удаление следующей папки помогло, даже с Non-Express edition.Экспресс:
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" />
Как только я добавил их, все сработало отлично.