Сайт Asp.net 4.0 не работает, потому что ни один обработчик не сопоставлен с классическим appPool - PullRequest
2 голосов
/ 15 мая 2010

Когда я создаю приложение Asp.net и переворачиваю appPool в «ASP.NET v4.0 Classic», происходит сбой со следующей ошибкой:

Ошибка HTTP 404.17 - не найден Запрошенное содержимое выглядит как сценарий и не будет обрабатываться обработчиком статических файлов.

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

У меня установлена ​​полная версия .Net 4.0 с VS2010, и приложение работает нормально, если я переключаю appPool в Integrated. Кроме того, это машина с Windows 7 (у меня та же проблема на Windows Vista). Заранее спасибо.

Andy

Ответы [ 4 ]

2 голосов
/ 16 мая 2010

Я бы начал с вызова aspnet_regiis.exe из каталога .net 4.0. Также вы можете запустить следующую команду, чтобы увидеть список обработчиков, настроенных для вашего сервера:

\windows\system32\inetsrv\appcmd.exe list config -section:handlers | findstr v4.0 | findstr Isapi

Вы должны увидеть фабрику страниц asp.net, что-то вроде (на 64-битной машине вы должны увидеть их дважды):

<add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

<add name="PageHandlerFactory-ISAPI-4.0_64bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
1 голос
/ 04 июня 2016

Установите расширение net framework 4.5 через управление сервером (установка функции IIS). У тебя все будет хорошо.

1 голос
/ 26 сентября 2011

Для меня сработало редактирование карты сценариев (двойной щелчок на PageHandlerFactory-ISAPI-4.0_64bit в сопоставлениях обработчиков), нажмите кнопку «Запретить ограничения», перейдите на вкладку «Доступ» и измените ее с «сценарий» на «нет» .

0 голосов
/ 05 февраля 2011

Это просто вклад в этот вопрос. Я не говорю, что это БУДЕТ работать для вас, просто может помочь, вот и все:

Для меня это не имеет ничего общего с «IsapiModule», хотя точное сообщение об ошибке, которое я получил, было «Ошибка HTTP 500.21 - Внутренняя ошибка сервера Обработчик «PageHandlerFactory-ISAPI-4.0_32bit» имеет неверный модуль «IsapiModule» в своем списке модулей «.

Мой сценарий заключается в том, что я получил эту ошибку после того, как я установил «Включить 32-разрядные приложения» на «true» в расширенных настройках пула приложений для моего пула приложений Dot.Net 4.0 Classic.

Итак, я просто изменил режим конвейера на «Интегрированный», и теперь он работает для меня. Что глупо, потому что когда у меня было изначально установлено значение «Интегрировано», оно не работало, поэтому я использовал «Классик».

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...