Код статьи: 2019689 - Последнее изменение :: 20 марта 2012 г. - Редакция: 9.0

Сообщение об ошибке при посещении веб-узла, размещенного на IIS 7.0: «HTTP Ошибка 404.17 - не найдена»

Совет по использованию системыЭта статья относится к операционной системе, отличной от установленной на вашем компьютере. Содержимое, не относящееся к используемой системе, отключено.
Развернуть все | Свернуть все

Проблема

У вас есть веб-узла, размещенного на служб (IIS) 7.0 или 7.5. При просмотре динамического содержимого веб-узла с помощью веб-обозревателя может появиться следующее сообщение об ошибке:
Ошибка сервера
-------------------------------------------------------------------------------------------------
Сводка ошибок
Ошибка HTTP 404.17 - не найдено
Запрошенное содержимое отображается сценарий и не обслуживается обработчик статических файлов.
Подробные сведения об ошибке:

Модуль StaticFileModule
Уведомление о ExecuteRequestHandler
Обработчик StaticFile
Код ошибки 0x80070032
Запрошенный URL-адрес http://iisserver:80/page.aspx
Физический путь К C:\inetpub\wwwroot\page.aspx
Анонимный метод входа в систему
Анонимный вход пользователя

Причина

Эта ошибка возникает, поскольку обработчик HTTP для обработки запроса имеет некоторые предварительные условия набора, но его пула приложений не удовлетворяет все или некоторые из этих предварительных условий. В этом случае обработчик статических файлов для обработки запроса вместо. Обработки запроса, а затем происходит сбой и 404.17 состояние возвращается, поскольку запрос не один статический и динамический ресурс.

Например рассмотрим следующие сопоставления обработчика:

< добавить имя = "PageHandlerFactory ISAPI 2.0" путь = Команда "*.aspx" = "GET, HEAD, учет, отладка" Модули = "IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" необходимое условие = "classicMode, runtimeVersionv2.0, bitness32" responseBufferLimit = "0" / >

В этом случае 404.17 ошибка возвращается, если запрашиваемый ресурс *.aspx из веб-узла, обрабатывается в пул приложений, не выполняется в классическом режиме, не 32-разрядной или не работает в версии 2.0 платформы.NET Framework.   Чтобы ресурс правильно обслуживать в этом примере должны быть выполнены все 3 предварительных условий.  В частности, пул приложений, размещения этого ресурса будет должны быть настроены для классического режима, должны быть настроены на использование версии 2.0 платформы.NET Framework и необходимо установить 32-разрядных приложений.

Решение

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

  1. Откройте диспетчер служб IIS
  2. Разверните имя компьютера и щелкните «Группы приложений» на левой панели.
  3. Выберите пул приложений, размещение ресурсов в средней области.
  4. В правой области щелкните ссылку «Дополнительные параметры...»
  5. В диалоговом окне Дополнительные параметры в категории «(Общие)» Настройте следующие параметры в соответствии с требованиями обработчика:
    • .Версии платформы.
    • Включение 32-разрядных приложений
    • Режим управляемого конвейера

Дополнительная информация

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

Команды appcmd.exe

Следующие команды могут использоваться для идентификации обработчиков, настроенных для веб-узла, перечисленные в вывод ошибок.

Пул приложений в списке

Следующие команды показывают, как определить, какой пул приложений, приложение выполняется в, а затем список предварительных условий для этого пула приложений.

C:\Windows\System32\inetsrv > appcmd.exe список приложений /site.name:"Default веб-узел»
Приложения «веб-узел по умолчанию / "(applicationPool:DefaultAppPool)

C:\Windows\System32\inetsrv > AppPools служит для настройки списка appcmd.exe
Группа ПРИЛОЖЕНИЙ «DefaultAppPool» (MgdVersion:v2.0, MgdMode: интегрированный, состояние: запуска)


Список обработчиков

Эта команда будет выводить обработчики, настроенные для определенного приложения на веб-узле по умолчанию.

C:\Windows\System32\inetsrv > конфигурации списка appcmd.exe "Приложения или веб-узел по умолчанию"-обработчики разделов:

<system.webServer>
< accessPolicy обработчики = «Чтение сценария» >
< добавить имя = "PageHandlerFactory ISAPI 2.0" путь = Команда "*.aspx" = "GET, HEAD, учет, отладка" Модули = "IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" необходимое условие = "classicMode, runtimeVersionv2.0, bitness32" responseBufferLimit = "0" / >
< добавить имя = путь «StaticFile» = "*" команда = "*" модули = типа ресурса «StaticFileModule, DefaultDocumentModule, DirectoryListingModule» = «Или» requireAccess = «Чтение» / >
</handlers>
</system.webServer>

Из приложения ASP.NET могут быть настроены для ресурсов *.aspx многие обработчики.  В некоторых случаях обработчик просто может потребоваться в соответствии с пулом приложений, выполняемых приложением.  Ниже приведен список различных приложений ASP.NET 2.0 обработчики с их различными pre-condition параметры.

ASP.NET 2.0 в режиме интеграции с 32/64-разрядного обработчика

< добавить имя = "PageHandlerFactory интегрированного" путь = Команда "*.aspx" = "GET, HEAD, учет, отладка" type="System.Web.UI.PageHandlerFactory" необходимое условие = "integratedMode" / >

ASP.NET 2.0 классический режим 32-разрядного обработчика

< добавить имя = "PageHandlerFactory ISAPI 2.0" путь = Команда "*.aspx" = "GET, HEAD, учет, отладка" Модули = "IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" необходимое условие = "classicMode, runtimeVersionv2.0, bitness32" responseBufferLimit = "0" / >

ASP.NET 2.0 обработчик 64-разрядных классический режим

< добавить имя = "PageHandlerFactory-ISAPI-2.0-64" путь = Команда "*.aspx" = "GET, HEAD, учет, отладка" Модули = "IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" необходимое условие = "classicMode, runtimeVersionv2.0, bitness64" responseBufferLimit = "0" / >


Информация в данной статье относится к следующим продуктам.
  • Microsoft Internet Information Services 7.0
  • Microsoft Internet Information Services 7.5
Ключевые слова: 
kbmt KB2019689 KbMtru
Переведено с помощью машинного переводаПереведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:2019689  (http://support.microsoft.com/kb/2019689/en-us/ )