ASP.NET MVC中全局异常处理
来源:互联网 发布:linux启动nodejs项目 编辑:程序博客网 时间:2024/05/22 01:48
以前不知道从哪里找到的处理全局异常的,觉得蛮好用就记下来了。
1, 建立MyExecptionAttribute.cs类,写入如下代码:
2,在Global文件代码如下:
1, 建立MyExecptionAttribute.cs类,写入如下代码:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- namespace Niunan.MVCShop.Code
- {
- public class MyExecptionAttribute : HandleErrorAttribute
- {
- public static Queue<Exception> ExceptionQueue = new Queue<Exception>();//创建队列.
- public override void OnException(ExceptionContext filterContext)
- {
- //将异常信息入队.
- ExceptionQueue.Enqueue(filterContext.Exception);//将异常信息入队.
- //filterContext.HttpContext.Response.Redirect("/error.html");
- base.OnException(filterContext);
- }
- }
- }
2,在Global文件代码如下:
- using Niunan.Utility;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading;
- using System.Web;
- using System.Web.Http;
- using System.Web.Mvc;
- using System.Web.Routing;
- namespace Niunan.MVCShop
- {
- // 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,
- // 请访问 http://go.microsoft.com/?LinkId=9394801
- public class MvcApplication : System.Web.HttpApplication
- {
- protected void Application_Start()
- {
- AreaRegistration.RegisterAllAreas();
- WebApiConfig.Register(GlobalConfiguration.Configuration);
- RouteConfig.RegisterRoutes(RouteTable.Routes);
- GlobalFilters.Filters.Add(new Code.MyExecptionAttribute()); //NET4建立的项目的话则是在APP_Stars/ConfigFilter.cs中
- //通过线程开启一个线程,然后不停的从队列中或数据
- string filePath = Server.MapPath("/Log/");
- ThreadPool.QueueUserWorkItem(o =>
- {
- while (true)
- {
- try
- {
- if (Code.MyExecptionAttribute.ExceptionQueue.Count > 0)
- {
- Exception ex = Code.MyExecptionAttribute.ExceptionQueue.Dequeue();//从队列中拿出数据
- if (ex != null)
- {
- Tool.TxtLog(ex.ToString(), filePath + DateTime.Now.ToString("yyyyMMdd")+".txt");
- }
- else
- {
- Thread.Sleep(30);
- }
- }
- else
- {
- Thread.Sleep(30);//避免了CPU空转。
- }
- }
- catch (Exception ex)
- {
- Code.MyExecptionAttribute.ExceptionQueue.Enqueue(ex);
- }
- }
- }, filePath);
- }
- }
- }
0 0
- ASP.NET MVC中全局异常处理
- ASP.NET Core MVC 中设置全局异常处理方式
- asp.net mvc全局异常处理
- asp.net mvc 3 配置全局异常处理 Web.config中设置CustomError
- ASP.NET MVC中注册Global.asax的Application_Error事件处理全局异常
- asp.net 全局异常处理
- asp.net全局异常处理
- ASP.NET 全局异常处理
- asp.net 全局异常处理
- ASP.NET MVC 异常处理
- 谈谈ASP.NET全局异常处理
- asp.net mvc 的异常处理解决方案
- asp.net mvc 的异常处理解决方案
- ASP.NET mvc异常处理的方法
- asp.net全局异常处理_ASP.NET技巧
- Spring mvc 全局异常处理
- Spring MVC全局异常处理
- spring mvc 全局异常处理
- IT--linux--传文件问题
- sendStickyBroadcast与Sticky Intent
- css 元素的分类
- nginx笔记
- Spring MVC中使用 Swagger2 构建Restful API
- ASP.NET MVC中全局异常处理
- java:构建ImageInputStream利用ImageReader对内存字节流进行图像解码
- 最小点集覆盖/HDU2119
- 字符串和基本类型之间的转换
- Linux Shell 管道与重定向
- 递归神经网络(recursive NN)结合自编码(Autoencode)实现句子建模
- ACM1006——Tick and Tick
- IOS之修改webView的Cookie及DoMain
- java通用格式下载,中文乱码解决