前篇介紹了 Filter 掛載 Attribute 的方式, 知道 attribute 的方式同樣需要註冊
型別;而實際專案中確實有可能同時出現,全域的與獨立掛載的 Filter ,然而
兩者的執行順序又是如何呢?其實答案很明顯,手癢紀錄一下
開始之前,再次提醒 filter pipeline 如下圖,而示範是使用 action filter
建立 MyGlobalActionFilterAttribute,此類別預計註冊為全域
建立 MyActionFilterAttribute,此類別預計使用 Attriute 掛載
掛載到 Controller Action 上,使用 ServiceFilter
接著Startup.cs 註冊,故意將全域的留在後面註冊,並不影響最後執行順序
執行,並觀察輸出
注意,若有設計建構式注入,建構式會先被執行,以下是參考程式碼
沒有留言:
張貼留言