У меня есть HttpModule, который подключается к событию EndRequest на IIS6 с зарегистрированным обработчиком подстановок, и он отлично работает, пока запрос заканчивается на странице .aspx, но НЕ, если url отсутствует (404).EndRequest не запускается при IIS, когда ресурс отсутствует
Я думаю, это из-за того, что staticfilehandler заканчивает запрос, но есть ли хорошее решение для этой проблемы?
Я пробовал такое же решение в IIS7 (режим конвейера), и там он отлично работает.
Как я писал в вопросе, подстановочный знак определен, но не имеет никакого значения, EndRequest все еще не срабатывает. Пользовательские ошибки не являются решением этой проблемы, поскольку она выполняет перенаправление, а не переписывает. – bang
Вы попытались снять флажок «проверить файл существует» в администраторе IIS? Это было более важное предложение? –
Да, инициируется BeginRequest (= aspx isapi), но если обработчики не назначены, запрос будет перенаправлен на staticfilehandler, в результате чего EndRequest НЕ запускается. Это поведение в IIS6. В IIS7 результат будет таким, как ожидалось (запускаются как BeginRequest, так и EndRequest). – bang