我正在尝试为我的ASP.NET MVC应用程序中的未处理异常创建一些基本日志记录,但是当我使用IIS6时,所有请求都来自.NET。现在虽然我同意丢失图像是一个重要的标记,但它们不是show-stoppers,所以我想将事件优先级设置为404,除非它们是图像(将获得中等优先级)。
问题在于Application_OnError
Response.StatusCode
为200,但最终结果是404.为此,我似乎无法提防404s设置适当的优先权。
有没有办法告诉StatusCode
的内容是什么?
答案 0 :(得分:6)
您可以通过Context.Server.GetLastError()
:
if ((Context.Server.GetLastError() is HttpException) && ((Context.Server.GetLastError() as HttpException).GetHttpCode() == 404))
{
// do something
}
答案 1 :(得分:0)
您必须将所有流量发送到.net isapi图层并自行执行404检查(如果文件存在)我会想象