(1) 授權過濾器(Authorization Filters)
使用時機:在運行任何Filter或者Action之前被運行,經常用於身份驗證或需要儘早運行特殊檢查的時候。 IAuthorizationFilter
(2) 動作過濾器(Action Filters)
使用時機:在運行Action的前後被運行,用於運行Action需要生成記錄或者緩存信息時。 IActionFilter
(3) 結果過濾器(Result Filters)
使用時機:在運行ActionResult的前後被運行,在View的呈現到瀏覽器之前,可以運行一些邏輯運算,或者用來更改ViewResult的輸出結果。IResultFilter
(4) 例外過濾器
使用時機:從授權過濾器開始到ActionFilter開始到ActionResult運行完這段過程中,如果有任何異常發生,可以使用此Filter來針對異常進一步處理,例如記錄錯誤細節,或者導向友善的錯誤界面。IExceptionFilter。
注意:
動作過濾器可以套在Action上,也可以套用在Controller上,若動作過濾器屬性套在Controller類別上,等於套用在Controller上的所有Action上。