博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mvc 使用预置队列类型存储异常对象
阅读量:6758 次
发布时间:2019-06-26

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

using PaiXie.Utils;using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;namespace PaiXie.Pos.Admin {    public class ExceptionFilterAttribute : HandleErrorAttribute    {        //使用预置队列类型存储异常对象        public static Queue
ExceptionQueue = new Queue
(); public override void OnException(ExceptionContext filterContext) { //将异常信息入队 ExceptionQueue.Enqueue(filterContext.Exception); //跳转到自定义错误页 filterContext.HttpContext.Response.Redirect("~/Shared/Error"); base.OnException(filterContext); } }}
using PaiXie.Utils;using System;using System.IO;using System.Text;using System.Threading;using System.Web;namespace PaiXie.Pos.Admin {    public class MessageQueueConfig    {        public static void RegisterExceptionLogQueue()        {          //通过线程池开启线程,不停地从队列中获取异常信息并将其写入日志文件            ThreadPool.QueueUserWorkItem(o =>            {                while (true)                {                    #region 异常日志处理                    try {                        if (ExceptionFilterAttribute.ExceptionQueue.Count > 0) {                            Exception ex = ExceptionFilterAttribute.ExceptionQueue.Dequeue(); //从队列中出队,获取异常对象                            if (ex != null) {                              //获得异常堆栈信息                                string exceptionMsg = ex.ToString();                                //将异常信息写入日志文件中                                PlanLog.WriteLog(exceptionMsg, LogType.Error.ToString());                            }                        }                        else {                            Thread.Sleep(1000); //为避免CPU空转,在队列为空时休息1秒                        }                    }                    catch (Exception ex) {                        ExceptionFilterAttribute.ExceptionQueue.Enqueue(ex);                    }                     #endregion                }            }, null                    );        }    }}

 

转载地址:http://xxweo.baihongyu.com/

你可能感兴趣的文章
图形处理的一些知识
查看>>
XPath
查看>>
[转]Shell脚本中获取SELECT结果值的方法
查看>>
No.2----数据类型(常用的)
查看>>
字符串指针
查看>>
锐捷网关交换机开启dhcp服务
查看>>
android 窃听电话
查看>>
链表例题
查看>>
POJ-1321 棋盘问题 搜索
查看>>
HDU-4478 Where is the King 搜索
查看>>
将博客搬至CSDN
查看>>
大三学长带我学习JAVA。作业1. 第1讲.Java.SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行 大三学长带我学习JAVA。作业1....
查看>>
在ie9浏览器中ajax请求数据始终执行error的问题解决
查看>>
类和原型之工厂模式!
查看>>
hdu 5396 Expression
查看>>
时间选择器(js,css,html)
查看>>
xshell常用命令大全
查看>>
Day01_变量,数据类型_程序交互_流程控制
查看>>
POJ 3087 Shuffle'm Up 模拟,看着不像搜索啊
查看>>
你知道 GNU Binutils 吗?【binutils】
查看>>