.Net Core MVC 過濾器(一)


1.過濾器
 
過濾器運行在MVC Action Invocation Pipeline(MVC Action 請求管道),我們稱它為Filter Pipleline(過濾器管道),Filter Pipleline 運行在MVC選擇Action執行前,因此我們可以在Action執行前做一些處理,例如:權限。
請求順序如圖:
2.過濾器類型
 
每個過濾器在Filter Pipleline的不同階段執行。
  • Authorization filters (權限過濾器)   Authorzation filters 在Filter Pipleline中首先運行,並用於決定當前用戶是否有請求權限。如果沒有請求權限直接返回。
  • Resource filters  (資源過濾器)    Resource filters 在Authorzation后面運行,同時在后面的其它過濾器完成后還會執行。Resource filters 實現緩存或其它性能原因返回。因為它運行在模型綁定前,所以這里的操作都會影響模型綁定。
  • Action filters  (方法過濾器)    Action filters會在執行Action方法前后被調用。這個可以在方法中用來處理傳遞參數和處理方法返回結果。
  • Exception filters   (異常過濾器)    Exception filters 被應用全局策略處理未處理的異常發生前任何被寫入響應體。
  • Result filters   (結果過濾器)    Result filters 可以在執行Action結果之前執行,且執行Action成功后執行,使用邏輯必須圍繞view或格式化執行結果。

下圖是過濾器管道的先后執行順序:

大家可以下載Demo,自己在代碼斷點上面執行兩次 一次請求是action正常 一次請求是action異常
 
上面是個人翻譯即一些理解,比較初級,對這個還會寫一些,如果有錯誤歡迎指正
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM