1. 程式人生 > >C# web api 中過濾器的使用

C# web api 中過濾器的使用

抽象類 面向切面 控制 ted 日誌 開篇 nac 基類 log4net

一、開篇

  Fiter在Web API中經常會用到,主要用於記錄日誌,安全驗證,全局錯誤處理等;Web API提供兩種過濾器的基本類型:actionfilterattribute,exceptionfilterattribute;兩個類都是抽象類,actionfilter主要實現執行請求方法體之前(覆蓋基類方法OnActionExecuting),和之後的事件處理(覆蓋基類方法OnActionExecuted);exceptionfilter主要實現觸發異常方法(覆蓋基類方法OnException)。

  之前在寫api的時候用的log4net,需要在每個控制器或者方法中添加寫日誌的方法,後來了解到有個過濾器這個東東,都寫在過濾器中很方便(這是不是所謂的面向切面編程AOP)。

二、ExceptionFiter的使用

  2.1、新建一個類實現ExceptionFilter類,重寫OnException方法。

  技術分享圖片

   2.2、在控制器中使用

  技術分享圖片

  2.3、效果

  技術分享圖片

三、ExceptionFilterAttribute的使用

  3.1、新建一個類實現ExceptionFilterAttribute

  技術分享圖片

   3.2、在需要使用的控制器或者action前面加上特性即可

  技術分享圖片

C# web api 中過濾器的使用