Получение правильного Response.StatusCode из Application_OnError (ASP.NET MVC)
Я пытаюсь создать базовое ведение журнала для необработанных исключений в моем приложении ASP.NET MVC, но, поскольку я использую IIS6, все запросы поступают через.NET. Теперь, хотя я согласен с тем, что пропущенные изображения важны для пометки, они не являются ограничителями показа, и поэтому я хотел бы установить высокий приоритет события на 404 с, если только они не являются изображениями (которые получат средний приоритет).
Проблема в том, что в Application_OnError
Response.StatusCode
- 200, но окончательный результат - 404. В связи с этим я, похоже, не могу следить за 404, чтобы установить соответствующий приоритет.
Есть ли способ сказать, что StatusCode
будет?
2 ответа
Вы можете получить это через Context.Server.GetLastError()
:
if ((Context.Server.GetLastError() is HttpException) && ((Context.Server.GetLastError() as HttpException).GetHttpCode() == 404))
{
// do something
}
Вы должны были бы отправить весь трафик через слой.net isapi и выполнить ручную проверку 404 (если файл существует), я бы вообразил