.net mvc中AOP 异常捕获后返回自定义的Json_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > .net mvc中AOP 异常捕获后返回自定义的Json

.net mvc中AOP 异常捕获后返回自定义的Json

 2014/12/23 12:13:16  dreamofei  程序员俱乐部  我要评论(0)
  • 摘要:.netmvc中封装了一些特性可以实现AOP,如常用的HandleErrorAttribute,ActionFilterAttribute,AuthorizeAttribute。自定义一个特性,继承这些特性,并重写里面的方法就可以AOP切入到Action中的关注点。本篇文章主要对笔者在使用HandleErrorAttribute的过程中遇到的一个问题进行分享。我们在action中会用try..catch..进行异常处理,笔者在catch中返回一个json(标示失败)
  • 标签:.net MVC net JSON 异常捕获 自定义 JS 异常

  .net mvc中封装了一些特性可以实现AOP,如常用的HandleErrorAttribute,ActionFilterAttribute,AuthorizeAttribute。自定义一个特性,继承这些特性,并重写里面的方法就可以AOP切入到Action中的关注点。本篇文章主要对笔者在使用HandleErrorAttribute的过程中遇到的一个问题进行分享。

  我们在action中会用try..catch..进行异常处理,笔者在catch中返回一个json(标示失败)。我发现所有的action在catch中返回值都一样,所以就想到使用HandleErrorAttribute进行异常捕获,然后返回自定义的json。但是发现我在OnException方法中已经设置了filterContext.Result为我想要返回的值了,但是运行时还是报错,并没有返回我处理后返回的json。如果你也遇到这样的问题,添上一句话就OK了,那就是:filterContext.ExceptionHandled = true;

  这是为什么呢?可能你看到这里已经恍然大悟了,那就是你要把ExceptionHandled这个表示设置为true,意思也就是我已经处理过了这个异常。这时候,浏览器一看,哦~已经处理了异常了,就输出你要的json了,如果你不设置成true,浏览器一看,还是没有Handed的异常,就给你报出来了。

上一篇: 浅谈图片上传之剪切 下一篇: 没有下一篇了!
发表评论
用户名: 匿名