過濾器有什么作用,在什么場景下適合用到它?
假設一個項目進展到快結束的時候,項目leader為了保證程序的穩定性和可監控和維護性要求將所有的方法加上日志,如果項目比較龐大,方法非常多,那豈不是得費很大得勁來完成這樣一件事情。不過不用擔心,咋們遇到的問題,偉大的語言設計者早已幫我們想好了解決辦法過濾器,過濾器是一種AOP(面向切面編程)技術的體現,AOP具有松耦合,易擴展,代碼可復用的特點。
通常我們在這些場景下如身份驗證、日志記錄、異常獲取等會使用到過濾器
.NET Core中的過濾器生命周期:
.NET Core中的過濾器有多種,今天給大家主要介紹ActionFilterAttribute的用法
(1)自定義一個Filter類:
(2)注冊過濾器,注冊過濾器有兩種方式,一種是全局注冊,另一種是局部注冊:
局部注冊,局部注冊可以體現在類或方法上:
(3)運行,請求一個具體接口,跟蹤一下執行順序:
可以看到過濾器起到了對應的作用。