zoukankan      html  css  js  c++  java
  • Global.asax 文件之 Application_Error

     Global.asax文件解析:http://www.cnblogs.com/tengchong/p/5364099.html

    Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法。

    Application_Error:当应用程序中遇到一个未处理的异常时,该事件被触发。

    下面的一段代码是将相应的错误信息记录下来写到日志文件之中,然后跳转到报错统一报错界面

     1   protected void Application_Error(object sender, EventArgs e)
     2         {
     3             var exception = Server.GetLastError().GetBaseException();
     4             int statusCode = (int)HttpStatusCode.InternalServerError;
     5             if (exception is HttpException)
     6             {
     7                 statusCode = new HttpException(null, exception).GetHttpCode();
     8             }
     9             else if (exception is UnauthorizedAccessException)
    10             {
    11                 // to prevent login prompt in IIS
    12                 // which will appear when returning 401.
    13                 statusCode = (int)HttpStatusCode.Forbidden;
    14             }
    15 
    16             if (statusCode != 404)
    17             {
    18                 string today = DateTime.Today.ToString("yyyy-MM-dd");
    19 
    20                 StringBuilder str = new StringBuilder();
    21                 str.Append("
    " + DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss") + "【异常】:" + exception.Message);
    22                 str.Append("
    请求地址:" + Request.Url.ToString());
    23                 str.Append("
    浏览器:" + Request.Browser.Browser.ToString());
    24                 str.Append("
    浏览器版本:" + Request.Browser.MajorVersion.ToString());
    25                 str.Append("
    	操作系统:" + Request.Browser.Platform.ToString()); 
    26                 str.Append("
    错误源:" + exception.Source);
    27                 str.Append("
    异常方法:" + exception.TargetSite);
    28                 str.Append("
    堆栈信息:" + exception.StackTrace);
    29                 str.Append("
    --------------------------------------------------------------------------------------------------");
    30 
    31 
    32                 System.IO.File.AppendAllText(AppDomain.CurrentDomain.BaseDirectory
    33                     + "/log/ApplicationError" + today + ".txt", str.ToString());
    34                 //处理完及时清理异常 
    35                 Server.ClearError(); 
    36                 //跳转至出错页面 
    37                 Response.Redirect("~/error.html"); 
    38 
    39 
    40             }
    41         }
  • 相关阅读:
    基于 Docker 的现代软件供应链
    Java 性能调优指南之 Java 集合概览
    Docker 网络基础介绍
    选择 Java 编写 iOS 与 安卓 App的八大理由
    使用Babel和ES7创建JavaScript模块
    Java 8方法引用使用指南
    软件可扩展性:来自星巴克的经验
    Docker 监控之 SaaS 解决方案
    如何高效的阅读uni-app框架?(建议收藏)
    如何高效的阅读uni-app框架?(建议收藏)
  • 原文地址:https://www.cnblogs.com/tengchong/p/5364151.html
Copyright © 2011-2022 走看看