【发布时间】:2017-03-12 12:24:24
【问题描述】:
我想全局捕获这些类型的错误,以便将它们记录到数据库并向用户显示一条好消息:500、403 和 404。我正在使用 Log4Net 处理错误。
void Application_Error(object sender, EventArgs e)
{
string redirectUrl = "~/Error/GenericError.aspx"; //I put a breakpoint here...
var httpException = (HttpException)Server.GetLastError();
int httpCode = httpException.GetHttpCode();
//more code here...
}
只有在异常发生时才触发断点,然后将错误识别为500。
但是,当我拼错一个 URL 时,除了 404 错误之外,Application_Error 方法会捕获该错误。相反,我的浏览器显示了这个页面(见截图)。在这种情况下无法记录错误。
我是 ASP.NET Webform 4.5。在之前的版本中,例如 ASP.NET 4.0,我能够捕获所有 3 种类型的错误。
有没有办法也捕获 404 错误?
【问题讨论】:
-
您的 web.config@sytem.web\customErrors 部分中有任何配置吗?
-
System.web 部分中没有
CustomError或与error相关的任何内容。