有時候你想在調用action方法之前或者action方法之後處理一些邏輯,為了支 持這個,ASP.NET MVC允許你創建action過濾器。Action過濾器是自定義的 Attributes,用來標記添加Action方法之前或者Action方法之後的行為到控制器 類中的Action方法中。
一些可能用到Action過濾器的地方有:
日 志,異常處理
身份驗證和授權 - 限制用戶的訪問
輸出緩存 - 保 存一個Action的結果
網絡爬蟲的過濾
本地化
動態Action - 將一個Action注入到控制器中
ASP.NET MVC為我們提供了下面的幾個 Filter接口:
IActionFilter
IAuthorizationFilter
IExceptionFilter
IResultFilter
要實現一個Filter,我們需要繼承自FilterAttribute 類同時實現上面的一個或幾個接口:
public class MyFilter : FilterAttribute, IActionFilter, IResultFilter
{
}
這幾個接口提供的方法如下:
上圖的方法和Filter接口對應的方法按名稱對號入座就可以。