ASP.NET MVC過(guò)濾器執(zhí)行順序介紹
如果某個(gè)Action過(guò)濾器運(yùn)用了多種過(guò)濾器,那么過(guò)濾器的執(zhí)行順序是如何呢?
規(guī)則一:不同類型的過(guò)濾器有一個(gè)先后順序
即執(zhí)行順序是:授權(quán)過(guò)濾器->動(dòng)作過(guò)濾器->結(jié)果過(guò)濾器->異常過(guò)濾器
。
注意:如果ActionFilter過(guò)濾器執(zhí)行過(guò)程中發(fā)生了異常,那么會(huì)執(zhí)行ExceptionFilter過(guò)濾器,不會(huì)執(zhí)行ResultFilter過(guò)濾器。上圖所示的是正常情況下的執(zhí)行順序。
規(guī)則二:控制器上面的過(guò)濾器優(yōu)先于方法上面的過(guò)濾器
即控制器和方法上面都使用了相同的過(guò)濾器,那么先執(zhí)行控制器上面的過(guò)濾器。如下圖所示:
規(guī)則三、Order屬性可以決定過(guò)濾器的先后順序
默認(rèn)order=-1,即會(huì)先執(zhí)行沒(méi)有設(shè)置order的過(guò)濾器。如下圖所示:
規(guī)則四、如果過(guò)濾器的類型相同,相同order的過(guò)濾器不能確定誰(shuí)先執(zhí)行
如下圖所示:
規(guī)則五、控制器實(shí)現(xiàn)的過(guò)濾器接口方法優(yōu)先執(zhí)行
上圖中實(shí)現(xiàn)了ActionFilter過(guò)濾器的OnActionExecuting方法,所以先執(zhí)行這個(gè)方法在執(zhí)行ActionFilter1。如下圖所示:
到此這篇關(guān)于ASP.NET MVC過(guò)濾器執(zhí)行順序的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
.NET Core中使用Redis與Memcached的序列化問(wèn)題詳析
這篇文章主要介紹了.NET Core中使用Redis與Memcached的序列化問(wèn)題的相關(guān)內(nèi)容,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-03-03ASP.NET MVC中jQuery與angularjs混合應(yīng)用傳參并綁定數(shù)據(jù)
這篇文章主要介紹了ASP.NET MVC中jQuery與angularjs混合應(yīng)用傳參并綁定數(shù)據(jù),需要的朋友可以參考下2017-06-06ASP.NET Core模仿中間件方式實(shí)現(xiàn)列表過(guò)濾功能
這篇文章介紹了ASP.NET Core模仿中間件方式實(shí)現(xiàn)列表過(guò)濾功能的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07.NET 8 高性能跨平臺(tái)圖像處理庫(kù) ImageSharp 詳解
ImageSharp是.NET8的高性能跨平臺(tái)圖像處理庫(kù),適用于多種開(kāi)發(fā)場(chǎng)景,它支持廣泛的圖像格式和圖像處理操作,如調(diào)整大小、裁剪、旋轉(zhuǎn)、濾鏡效果等,ImageSharp通過(guò)NuGet安裝簡(jiǎn)便,易于在項(xiàng)目中集成使用,本文詳細(xì)介紹了ImageSharp的功能及使用方法,是開(kāi)發(fā)者進(jìn)行圖像處理的優(yōu)選工具2024-11-11ASP.NET通過(guò)Remoting service上傳文件
ASP.NET通過(guò)Remoting service上傳文件...2006-09-09ASP.NET導(dǎo)出數(shù)據(jù)到Excel的實(shí)現(xiàn)方法
在做asp.net程序時(shí)涉及到數(shù)據(jù)顯示的時(shí)候多數(shù)會(huì)要求打印,而網(wǎng)頁(yè)上的打印格式往往又不能滿足需求,經(jīng)常用的方法就是導(dǎo)入到Excel以后再進(jìn)行打印。(仿佛這已經(jīng)是老生常談)今天在網(wǎng)上搜了一段打印的代碼,覺(jué)得不錯(cuò),需要打印的朋友可以看看。2013-07-07使用asp.net mvc,boostrap及knockout.js開(kāi)發(fā)微信自定義菜單編輯工具(推薦)
這篇文章主要介紹了使用asp.net mvc,boostrap及knockout.js開(kāi)發(fā)微信自定義菜單編輯工具,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-05-05ASP.net百度主動(dòng)推送功能實(shí)現(xiàn)代碼
百度站長(zhǎng)工具的主動(dòng)推送功能,以最為快速的提交方式,推薦您將站點(diǎn)當(dāng)天新產(chǎn)出鏈接立即通過(guò)此方式推送給百度,以保證新鏈接可以及時(shí)被百度收錄2020-09-09