.NET Core過濾器和攔截器


攔截器Filter 共有五種 Authorization Fileter、Resource Fileter、  Exception Filter 、Action Filter、 Result Filter

   Exception Filter 當出現異常時進入此方法,可在這針對不同的異常做相關處理並返回指定數據,避免直接把錯誤暴露給用戶

 Action Filter 設置

  在方法前后會跳轉到OnActionExecuted和OnActionExecuting兩個方法,方便追蹤接口執行情況

   Authonization Filter

  權限控制過濾器 通過Authonization Filter 可以實現復雜的權限角色認證、登錄授權等操作

   Resource Filter 進行資源緩存 、防盜鏈等操作。

 Result Filter

  結果過濾器,可以對結果進行格式化、大小寫轉換等一系列操作。

  使用Result Filter 需要實現 IResult 抽象接口,接口要求實現

OnResultExecuting 方法和OnResultExecuted 方法

AOP 攔截器 即動態代理

   C# 中可以用來做AOP 的開源類庫 有若干個,比較流行的: Castle DynamicProxy 、 Fody、Mono。Cecil 

    這些類庫之所以能夠實現AOP是因為他們有動態修改IL代碼的能力,這種能力又被稱為IL weaving。 還有的類庫把AOP和Dependency Injection 結合在了一起,通過服務器上注冊一個攔截器(Interceptor)的方式達到AOP的目的,例如:

Castle Windsor

 Autofac

 


免責聲明!

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



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