MVC過濾器簡單刨析

2022-03-02 05:12:56 字數 1648 閱讀 2418

簡單介紹一下過濾器。

看下過濾器型別:

action: 在動作方法之前及之後執行

result: 在action結果被執行前或者之後執行,比如說返回乙個檢視,再執行檢視前執行乙個方法,再執行之後執行乙個方法

authorizationfilter:首先執行,看的出來一般是用來執行許可權的,如果許可權不夠,那麼後面沒有,類似看門狗。

exption:異常時候執行,一般處理錯誤跳轉。

這是mvc的一套系統,即使你不去寫任何相關的**,他們也會按照這個流程,檢測,所以不能說框架是效能好的東西,只能說是有利於開發的東西。

有乙個預設執行的過濾器:

f12進入:

這個就是處理我們異常的資訊的過濾器。

來看下action型別吧。

建立乙個類,然後去繼承actionfilterattribute,覆蓋上面的這兩個方法。

這兩個方法的含義,字面理解為正要執行和執行後。

加了一些東西,用於輸出他們呼叫時候的時間,必須精確到毫秒,應為**資料一般都用ms計算。

看下結果:

這個時候加入result 過濾器:

然後再次看下結合:

清晰明了,檢視過程和他們的執行順序都反映出來了。

看下onauthoriaztion:

這個是最先執行的,也稱許可權控制器,繼承: authorizeattribute.

因為用的比較多了,有些必須登陸才可以使用的,可以把他放在全域性中,有些部分的就放在自己的乙個basecontrol中吧,然後繼承。

看下異常過濾器:

最後乙個處理異常的,繼承handleerrorattribute,然後複寫這個方法。

拿到異常,然後自定義錯誤的跳轉,當然自己可以根據不同的情況自己設定。

一般會放在全域性過濾器中。

如果沒有執行,加上這個配置吧。

意思是定製的錯誤,方法啟動。

MVC過濾器 過濾器執行順序

如果某個action過濾器運用了多種過濾器,那麼過濾器的執行順序是如何呢?即執行順序是 授權過濾器 動作過濾器 結果過濾器 異常過濾器。注意 如果actionfilter過濾器執行過程中發生了異常,那麼會執行exceptionfilter過濾器,不會執行resultfilter過濾器。上圖所示的是正...

MVC的過濾器

過濾器分類 action過濾器 view結果渲染過濾器 全域性錯誤異常過濾器 身份驗證過濾器 1.action過濾器 在action執行之前和執行之後分別幹一些事 介面 iactionfilter 2.view結果渲染過濾器 介面 iactionfilter attributeusage attri...

Mvc 異常過濾器

mvc自帶乙個異常過濾器即handleerrorattribute 1.首先要進行配置web.config defaultredirect表示需要跳轉的錯誤頁面,mode需設定為 on或者 remoteonly.注 handleerror只處理伺服器500錯誤,404 400等這些錯誤不進行處理,如...