ASP.NET MVC過濾器執(zhí)行順序介紹
如果某個Action過濾器運用了多種過濾器,那么過濾器的執(zhí)行順序是如何呢?
規(guī)則一:不同類型的過濾器有一個先后順序

即執(zhí)行順序是:授權過濾器->動作過濾器->結果過濾器->異常過濾器。
注意:如果ActionFilter過濾器執(zhí)行過程中發(fā)生了異常,那么會執(zhí)行ExceptionFilter過濾器,不會執(zhí)行ResultFilter過濾器。上圖所示的是正常情況下的執(zhí)行順序。
規(guī)則二:控制器上面的過濾器優(yōu)先于方法上面的過濾器
即控制器和方法上面都使用了相同的過濾器,那么先執(zhí)行控制器上面的過濾器。如下圖所示:

規(guī)則三、Order屬性可以決定過濾器的先后順序
默認order=-1,即會先執(zhí)行沒有設置order的過濾器。如下圖所示:

規(guī)則四、如果過濾器的類型相同,相同order的過濾器不能確定誰先執(zhí)行
如下圖所示:

規(guī)則五、控制器實現(xiàn)的過濾器接口方法優(yōu)先執(zhí)行
上圖中實現(xiàn)了ActionFilter過濾器的OnActionExecuting方法,所以先執(zhí)行這個方法在執(zhí)行ActionFilter1。如下圖所示:

到此這篇關于ASP.NET MVC過濾器執(zhí)行順序的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
.NET Core中使用Redis與Memcached的序列化問題詳析
這篇文章主要介紹了.NET Core中使用Redis與Memcached的序列化問題的相關內容,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2018-03-03
ASP.NET MVC中jQuery與angularjs混合應用傳參并綁定數據
這篇文章主要介紹了ASP.NET MVC中jQuery與angularjs混合應用傳參并綁定數據,需要的朋友可以參考下2017-06-06
ASP.NET Core模仿中間件方式實現(xiàn)列表過濾功能
這篇文章介紹了ASP.NET Core模仿中間件方式實現(xiàn)列表過濾功能的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07
.NET 8 高性能跨平臺圖像處理庫 ImageSharp 詳解
ImageSharp是.NET8的高性能跨平臺圖像處理庫,適用于多種開發(fā)場景,它支持廣泛的圖像格式和圖像處理操作,如調整大小、裁剪、旋轉、濾鏡效果等,ImageSharp通過NuGet安裝簡便,易于在項目中集成使用,本文詳細介紹了ImageSharp的功能及使用方法,是開發(fā)者進行圖像處理的優(yōu)選工具2024-11-11
使用asp.net mvc,boostrap及knockout.js開發(fā)微信自定義菜單編輯工具(推薦)
這篇文章主要介紹了使用asp.net mvc,boostrap及knockout.js開發(fā)微信自定義菜單編輯工具,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-05-05

