MVC的Action上下文:ActionExecutingContext


就上圖來看,大家注意了嗎,ActionExecutingContext對象一共有3處引用。下面我來一一解析:

調用base.OnActionExecuting(filterContext)這個后,才會執行后續的ActionFilter,如果你確定只有一個,或是不想執行后續的話,那么可以不用調用該語句

filterContext.ActionDescriptor.ActionName通過上下文獲得了執行的Action名稱

filterContext.Result是執行上下文Action后返回的自定義結果。

然后我們再來看看這個ActionExecutingContext類,請看下圖

這里更明確的說明了ActionExecutingContext類能幫你做什么。當然我要說說,這個類一般是用於自定義過濾器進行過濾,對於控制器來說它本身繼承了ActionFilterAttribute基類,因此可以重寫OnActionExecuting以下說明了該類相關方法

方法

參數

描述

OnActionExecuting

ActionExecutingContext

在行為方法執行前執行

OnActionExecuted

ActionExecutedContext

在行為方法執行后執行

OnResultExecuting

ResultExecutingContext

在行為方法返回前執行

OnResultExecuted

ResultExecutedContext

在行為方法返回后執行

 

四個方法執行順序是OnActionExecuting——>OnActionExecuted——>OnResultExecuting——>OnResultExecuted

現在,我們再回到上圖,看看這個

這段什么意思呢,CurrentModule是特性標識,特性名AuthenticateAttribute;想必大家明白權限過濾咋回事了吧

我們再看看這個,是不是限制了登錄了呀,呵呵

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM