У меня было приложение, которое работало на IIS 6. Все запросы проходили через aspnet_isapi.dll. Это было достигнуто с помощью сопоставления приложения с подстановочными знаками (которое не проверяло существование файла).
Я скопировал указанное приложение на компьютер с IIS7 и хотел бы, чтобы оно снова заработало.
В приложении любой запрос с расширением .aspx (или .ashx) обрабатывается обычным способом. Другие запросы с другими расширениями (например, .html и .xml) обрабатываются с помощью специального модуля http. Некоторые запросы не имеют расширения и динамически перенаправляются в файл с расширением (например, посещение… / item / 1 может перенаправить на… / item / 1.html или… / item / 1.xml, в зависимости от значений в заголовке accept. ).
Возможно, новое местоположение не существует, но ответ генерируется динамически.
В настоящее время пул приложений находится в «классическом» режиме и использует .NET v4.0 (ранее он использовал .NET 3.5, но, похоже, это не связано с проблемой). Пользовательский модуль http устанавливается только в файле web.config.
Перенаправление (от… / item / 1 до… / item / 1.html), похоже, работает, что говорит о том, что приложение действительно обрабатывает меньше запросов на расширение (это перенаправление записывается в самом приложении). Я думаю, это означает, что пользовательский модуль работает.
Однако запросы с расширениями (.html, .xml и т. Д.) Не выполняются. Я получаю ошибку:
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Module: IIS Web Core
Notification: MapRequestHandler
Handler: StaticFile
Error Code: 0x80070002
Я пытался:
Добавление сопоставления сценария с подстановочными знаками, сопоставленного * с aspnet_isapi.dll
Попытка добавления определенного сопоставления для * .html в aspnet_isapi.dll
Это все равно приводит к тому же сообщению об ошибке, и, похоже, все еще идет к обработчику "StaticFile".
Я попытался изменить «StaticFile», чтобы он использовал исполняемый файл aspnet_isapi.dll, и это привело к новой ошибке:
HTTP Error 404.4 - Not Found
The resource you are looking for does not have a handler associated with it.
Handler: Not yet determined
Любая помощь будет принята с благодарностью.