从Application_OnError(ASP.NET MVC)获取正确的Response.StatusCode

tag*_*s2k 1 asp.net-mvc application-onerror http-status-codes

我正在尝试在我的ASP.NET MVC应用程序中为未处理的异常创建一些基本日志记录,但是当我使用IIS6时,所有请求都来自.NET.虽然我同意丢失的图像是标记的重要内容,但它们不是show-stoppers,所以我想将事件优先级设置为404s的高,除非它们是图像(将获得中等优先级).

问题是,在Application_OnErrorResponse.StatusCode200,但发出了最后的结果是404.为此,我似乎不能够看出来404来设置相应的优先级.

有没有办法告诉StatusCode是什么?

veg*_*rby 6

你可以通过Context.Server.GetLastError()以下方式获得:

if ((Context.Server.GetLastError() is HttpException) && ((Context.Server.GetLastError() as HttpException).GetHttpCode() == 404))
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)