Обработка ASP.NET MVC 404 и IIS7 <httpErrors>

Добрый день!

Я использую стратегию для обработки 404 ошибок, подобных этой:Обработка ошибок для ASP.NET MVC 2 и IIS 7.0 или это:Как я могу правильно обрабатывать 404 в ASP.NET MVC?

Короче говоря, я рассматриваю 404 как исключение вGlobal.asax без добавления каких-либо правил маршрутизации, если исключение составляет 404, я отображаю специальный контроллер \ действие с сообщением об ошибке.

На IIS6 он работает с сопоставлением подстановочных знаков ASP.NET. На IIS7 в интегрированном режиме мне нужно добавить следующее вWeb.config (где/error/HttpError404 это мое действие с 404 страницей):

    <httpErrors>
        <remove statusCode="403" subStatusCode="-1" />
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="404" prefixLanguageFilePath="" path="/error/HttpError404" responseMode="ExecuteURL" />
        <error statusCode="403" prefixLanguageFilePath="" path="/error/HttpError403" responseMode="ExecuteURL" />
    </httpErrors>

Зачем? Маршрутизация работает по-разному в интегрированном режиме IIS и сопоставлении подстановочных знаков IIS6?

Заранее спасибо!

ОБНОВИТЬ: В соответствии с моими тестами кажется, что моя обработка ошибок работает, и мое действие 404 отображается, но кажется, что IIS видит код ответа 404 (который я установил программно в моем действии 404) и заменяет мою страницу ошибками по умолчанию.

Когда я установил<httpErrors> Я получил два хита за страницу 404: один из обработки исключений вGlobal.asax и один из IIS.

Может ли это быть причиной?

Ответы на вопрос(1)

Ваш ответ на вопрос