上一篇是使用了全局过虑器来实现,还可以使用 HttpApplication 来处理。
参考文章:
http://www.cnblogs.com/dudu/p/aspnet_custom_error.html
第一步和上一篇的第一步完全相同。
第二步开始是:
在 Global.asax 里的 MvcApplication 类里加上该方法:
/// <summary> /// 应用程序出异常时必然会进这里,当出异常后,返回 404 错误页面。 /// </summary> protected void Application_Error() { Exception lastError = Server.GetLastError(); if (lastError != null) { WriterException(this.Context, lastError); Response.StatusCode = 404; Server.ClearError(); } } /// <summary> /// 写入异常信息。 /// </summary> /// <param name="context"></param> /// <param name="exception"></param> private static void WriterException(HttpContext context, Exception exception) { var logger = LoggerFactory.Current.Create(); object uri = context.Request.Url; string url = string.Empty; if (uri != null) { url = uri.ToString(); } var ex = exception.GetBaseException(); var text = new StringBuilder(); text.AppendLine("异常地址:" + url); text.AppendLine("异常信息:" + ex.Message); logger.Fatal(ex, text.ToString()); }
完成。
时间: 2024-11-08 19:36:48