您的位置:首页 > 其它

自定义 404 与 500 错误页面,URL 地址不会重定向(二)

2015-06-18 17:03 836 查看
上一篇是使用了全局过虑器来实现,还可以使用 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());
}


完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: