IIS 7 + ASP.NET 4


17

У меня есть приложение ASP.NET, которое я пытаюсь преобразовать в приложение ASP.NET 4. Приложение довольно простое. Я создал новое веб-приложение в IIS 7.5, указывая на каталог, в котором существует приложение ASP.NET.

Когда я пытаюсь запустить приложение, но ввожу http: // localhost: [port] в мой браузер, я получаю следующую ошибку:

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

Наиболее вероятные причины:

  • Управляемый обработчик используется; однако ASP.NET не установлен или установлен не полностью.
  • В конфигурации для списка модулей обработчика имеется опечатка.

Ответы:


23

У меня та же проблема при попытке опубликовать приложение SL с использованием VS2010, хотя раньше не было проблем с .NET 3.5SP1 и VS2008.

Поэтому попробуйте запустить this ( %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i), как описано здесь forums.iis.net/t/1149449.aspx и здесь www.gotknowhow.com/articles/fix-bad-module-managedpipelinehandler-in-iis7 и теперь это работает. Так что проблема в том, что ASp> NET 4.0 не установлен должным образом, хууу ... :)


1
работает для меня! Я установил VS и IIS в неправильном порядке (сначала VS), затем вы
оказались

3

трюк "aspnet_regiis.exe -i" работал для меня.



1

В диспетчере IIS в разделе «Сайты» найдите свой каталог (веб-страницу) и «Преобразовать в приложение». Выберите действительный пул приложений (или создайте новый), который использует .NET v.2 или выше. Перезагрузите IIS. Вы сделали.


0

2 вещи для проверки:

1) Вы установили .NET 4.0 биты на коробке?

2) Установлен ли рассматриваемый сайт для использования ASP.NET 4.0?


0

Это сработало для меня http://blogs.msdn.com/b/amol/archive/2009/03/31/aspx-pages-not-getting-served-on-iis-7.aspx

Решение: Добавьте раздел глобальных модулей в applicationHost.config.

<add name = "ManagedEngine" image = "% windir% \ Microsoft.NET \ Framework \ v2.0.50727 \ webengine.dll" preCondition = "integratedMode, runtimeVersionv2.0, bitness32" />

для 64-битной
версии <add name = "ManagedEngine64" = "% windir% \ Microsoft.NET \ Framework64 \ v2.0.50727 \ webengine.dll" preCondition = "интегрированный режим, время выполненияVersionv2.0, битность64" />

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.