У меня есть HttpModule
для обработки ошибок и их запуска в среде разработки Visual Studio.Это работает хорошо.Для клиента существуют жесткие 404
с и без явных перенаправлений.Google Analytics должен быть очень доволен этим.
Отладка в Visual Studio 2008
при переходе на localhost:
[port]/this_page_doesnt_exist.html, I get a our 404 error page and the hard 404.
Он также работает на сервере разработки для
localhost:[port]/this_page_doesnt_exist.aspx.
Когда я портирую все это на наш IIS7
веб-сервер, у меня все работает точно так же, как и для статических файлов HTML.Однако я определил, что мой модуль вообще не вызывается для файлов aspx
.Если я поверну customErrors
Off
, я получу стандартную уродливую страницу 404
.(Если customErrors
равно RemoteOnly
, они действительно включаются.)
Кажется, что подсказки указывают на некоторую настройку IIS
, которую я не настроил должным образом, но я не могу дляжизнь меня найти.Есть идеи?
Дополнительная информация:
Я работаю в интегрированном режиме, и мой web.config
содержит следующие разделы:
<configuration>
<system.web>
<httpModules>
<add name="ErrorModule" type="HttpModules.ErrorModule, HttpModules"/>
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ErrorModule" preCondition="managedHandler" type="HttpModules.ErrorModule, HttpModules"/>
</modules>
</system.webServer>
</configuration>
Еще больше информации
То, что я думал, происходило в IIS7
, но не то, что происходило.Единственная причина, по которой я увидел сообщение об ошибке 404
для файлов HTML на сервере, заключалась в том, что его получал нативный модуль CustomErrorHandler
.Когда я выключил этот модуль, теперь мой ErrorHandler
работает для файлов aspx
, но не для файлов HTML.
Я должен быть близко, но я изо всех сил пытался получить мои настройки до конца.Кто-нибудь может подтолкнуть меня за линию ворот?