.NET MVC 過濾器執行順序

如下內容抄自博客園html

.net Mvc 過濾器執行順序:.net

IAuthorizationFilter(OnAuthorization)----->IActionFilter(OnActionExecuting)---->控制器Action---->IActionFilter(OnActionExecuted) ---->IResultFilter(OnResultExecuting)---->視圖---->IResultFilter(OnResultExecuted)code

Filter的具體生存週期 :htm

    1. 來自controller虛方法 的OnActionExecuting .blog

    2. 應用於當前Controller的Filter中的OnActionExecuting:接口

      先執行基類的,後執派生類的   get

    3. 執行應用於Action的Filter的OnActionExecuting順序:
      先執行基類的,後執派生類的博客

    4. Action 方法io

    5. 應用於Action的Filter的OnActionExecuted 的執行順序配置

          先執行派生類的,後執行基類的   

    6. 應用於當前Controller的Filter中的OnActionExecuted方法

          先執行派生類的,後執行基類的   

    7. Controller中的虛方法 OnActionExecute

如下爲本身的內容:

上面寫的順序是系統接口的執行順序,但是對於附加的過濾器並不包含在其中。

[Filter1]
[Filter2]
public ActionResult DoAction(){}

上面的這個 Action 配置有兩個過濾器:Filter一、Filter2。這兩個過濾器也確定是有執行順序的,可是它們的順序與直觀的上下順序正好相反:先執行 Filter2,再執行 Filter1。

相關文章
相關標籤/搜索