簡單介紹一下過濾器。
看下過濾器型別:
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等這些錯誤不進行處理,如...