一、開篇
Fiter在Web API中經常會用到,主要用於記錄日志,安全驗證,全局錯誤處理等;Web API提供兩種過濾器的基本類型:actionfilterattribute,exceptionfilterattribute;兩個類都是抽象類,actionfilter主要實現執行請求方法體之前(覆蓋基類方法OnActionExecuting),和之后的事件處理(覆蓋基類方法OnActionExecuted);exceptionfilter主要實現觸發異常方法(覆蓋基類方法OnException)。
之前在寫api的時候用的log4net,需要在每個控制器或者方法中添加寫日志的方法,后來了解到有個過濾器這個東東,都寫在過濾器中很方便。
二、ExceptionFiter的使用
2.1、新建一個類實現ExceptionFilter類,重寫OnException方法。

2.2、在控制器中使用

2.3、效果

三、ExceptionFilterAttribute的使用
3.1、新建一個類實現ExceptionFilterAttribute

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

四、 在mvc中和web api添加全局的控制有區別
在webapi中是在WebApiConfig中添加config.Filters.Add(new xxxxx);
在mvc項目中是在FilterConfig中添加 filters.Add(new xxxx());
五、在mvc中使用過濾器


