zoukankan      html  css  js  c++  java
  • 【MVC__ExceptionFilter】全局异常处理

    通过实现接口IExceptionFilter

    Global文件添加GlobalFilters.Filters.Add(new ExExceptionFilter());

        public class ExExceptionFilter : IExceptionFilter
        {
            private static ILog log = LogManager.GetLogger(typeof(ExExceptionFilter));
    
            public void OnException(ExceptionContext filterContext)
            {
                log.Error("出现未处理异常", filterContext.Exception);
    
                HttpRequestBase request = filterContext.RequestContext.HttpContext.Request;
                if (request.Headers.AllKeys.Contains("X-Requested-With") && request.Headers["X-Requested-With"].Equals("XMLHttpRequest"))
                {
                    AjaxResult ajaxResult = new AjaxResult(0, "发生错误");
                    ajaxResult.data.Add("Exception", filterContext.Exception.Message);
                    ajaxResult.data.Add("detail", filterContext.Exception.ToString());
                    filterContext.Result = new JsonResult() { Data = ajaxResult };
                }
                else
                {
                    filterContext.Result = new RedirectResult("/Manager/Manager/Error");
                }
                filterContext.ExceptionHandled = true;
                filterContext.HttpContext.Response.Clear();
                //filterContext.HttpContext.Response.StatusCode = 500;
                filterContext.HttpContext.Response.TrySkipIisCustomErrors = true;
            }
        }
    
  • 相关阅读:
    ImageMagick
    Let's Encrypt:初次使用免费的ssl证书,并生成java用的 jks(keystore) 文件
    Struts功能详解——ActionMapping对象
    DOS在这里
    Servlet中的过滤器Filter详解
    Servlet 监听器Listener详解
    getInitParameter方法
    Maven的默认中央仓库
    手动事务

  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/12812188.html
Copyright © 2011-2022 走看看