IIS 7.5 не обращает внимания на customErrors для 404, возвращаемых приложением MVC 3

Я запускаю свое приложение MVC 3 (недавно обновленное с 2) на IIS 7.5 (Win 7 64bit) с интегрированным пулом приложений .NET 4.0 и имею следующую настройку в web.config:

<customErrors mode="On" defaultRedirect="~/Problem/Oops" redirectMode="ResponseRedirect">
    <error statusCode="404" redirect="~/Problem/NotFound" />
</customErrors>

Если метод действия на контроллере бросает исключение на сервер и, следовательно, генерирует код ошибки 500, он правильно отправляет браузер на URL перенаправления по умолчанию.

Однако если мое действие намеренно возвращает HttpNotFoundResult через HttpNotFound(), я получаю страницу ошибки IIS 7.5 404.0, а не ту, которая указана в моем web.config.

Если я ввожу URL, который не существует в моем приложении, например http://localhost/MyApp/FOO, то я получаю страницу, указанную в web.config.

У кого-нибудь есть идеи, почему я не получаю перенаправление на мою пользовательскую страницу ошибки 404 при использовании HttpNotFound()?

5
задан Peter 24 February 2011 в 13:11
поделиться