程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> .net mvc中AOP 異常捕獲後返回自定義的Json,aopjson

.net mvc中AOP 異常捕獲後返回自定義的Json,aopjson

編輯:C#入門知識

.net mvc中AOP 異常捕獲後返回自定義的Json,aopjson


  .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的異常,就給你報出來了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved