在我的MVC应用程序中,我有时会调用未处理的异常并调用Application_Error()处理程序.
问题是如果我在Application_Error()中访问Response.StatusCode,它恰好是200,尽管有一个未处理的异常.我宁愿期待500.
为什么它有200但是有一个未处理的例外?
解决方法
在Application_Error()里面你可以这样做:
var lastError = Server.GetLastError(); var statusCode = 500; var httpException = lastError as HttpException; if (httpException != null) statusCode = httpException.GetHttpCode();