博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 异常处理保存
阅读量:5038 次
发布时间:2019-06-12

本文共 2111 字,大约阅读时间需要 7 分钟。

通过设置异常处理可以将错误信息保存到日志文件中,避免直接在前端显示

1.新建类MyExceptionAttribute

1 public class MyExceptionAttribute : HandleErrorAttribute 2     { 3         public static Queue
ExecptionQueue = new Queue
(); 4 ///
5 /// 可以捕获异常数据 6 /// 7 ///
8 public override void OnException(ExceptionContext filterContext) 9 {10 11 base.OnException(filterContext);12 Exception ex = filterContext.Exception;13 //写到队列14 ExecptionQueue.Enqueue(ex);15 //跳转到错误页面.16 filterContext.HttpContext.Response.Redirect("/Error.html");17 }18 }
MyExceptionAttribute

 

2.创建错误网页Error.html。当发生错误时直接跳转到错误页。

3.在Global.asax文件Application_Start()方法中添加处理代码

1 //开启一个线程,扫描异常信息队列。 2             string filePath = Server.MapPath("/Log/"); 3             ThreadPool.QueueUserWorkItem((a) => { 4                 while (true) 5                 { 6                     //判断一下队列中是否有数据 7                     if (MyExceptionAttribute.ExecptionQueue.Count() > 0) 8                     { 9                         Exception ex=MyExceptionAttribute.ExecptionQueue.Dequeue();10                         if (ex != null)11                         {12                             //将异常信息写到日志文件中。13                             string fileName = DateTime.Now.ToString("yyyy-MM-dd");14                             File.AppendAllText(filePath+fileName+".txt",ex.ToString(),System.Text.Encoding.UTF8);15                             16                         }17                         else18                         {19                             //如果队列中没有数据,休息20                             Thread.Sleep(3000);21                         }22                     }23                     else24                     {25                         //如果队列中没有数据,休息26                         Thread.Sleep(3000);27                     }28                 }29             30             31             },filePath);
protected void Application_Start()

 

转载于:https://www.cnblogs.com/huangtaiyi/p/10902720.html

你可能感兴趣的文章
APScheduler调度器
查看>>
设计模式——原型模式
查看>>
【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.1.CSS框架和其他功能
查看>>
如何一个pdf文件拆分为若干个pdf文件
查看>>
web.xml中listener、 filter、servlet 加载顺序及其详解
查看>>
前端chrome浏览器调试总结
查看>>
获取手机验证码修改
查看>>
数据库连接
查看>>
python中数据的变量和字符串的常用使用方法
查看>>
等价类划分进阶篇
查看>>
delphi.指针.PChar
查看>>
Objective - C基础: 第四天 - 10.SEL类型的基本认识
查看>>
java 字符串转json,json转对象等等...
查看>>
极客前端部分题目收集【索引】
查看>>
第四天 selenium的安装及使用
查看>>
关于js的设计模式(简单工厂模式,构造函数模式,原型模式,混合模式,动态模式)...
查看>>
KMPnext数组循环节理解 HDU1358
查看>>
android调试debug快捷键
查看>>
【读书笔记】《HTTP权威指南》:Web Hosting
查看>>
Inoodb 存储引擎
查看>>