asp.net mvc5中的過濾器重寫


asp.net mvc5中增加了一種過濾器類型叫過濾器重寫,這種過濾器類型可以在操作或者控制器上忽略更高層次上設置的過濾器類型,它可以重寫五種基本的過濾器接口類型:IAuthenticationFilter、IAuthorizationFilter、IActionFilter、IResultFilter、IExceptionFilter,而不是它們具體的實現類。它必須繼承IOverrideFilter接口,實現接口中的FiltersToOverride屬性,指明要重寫的過濾器類型。

如下OverrideAllExceptionFilterAttribute特性重寫了異常過濾器類型,那么如果把該過濾器放到控制器上則會忽略掉所有的全局異常過濾器,而如果把該過濾器放到操作上,則會忽略其控制器和全局中設置的所有異常過濾器。

 另外,在MVC5.1中,對每一種基本過濾器類型都包含了對應的過濾器重寫:OverrideAuthenticationAttribute、OverrideAuthorizationAttribute、OverrideActionFiltersAttribute、OverrideResultFiltersAttribute、OverrideExceptionFiltersAttribute,因此不必自己去實現IOverrideFilter接口,寫相應的過濾器重寫類型。

  • 重點回顧
  1. 繼承FilterAttribute,IOverrideFilter
  2. 重寫過濾器返回五種基本過濾器接口,而不返回具體的類
  3. 應用時忽略掉更高層次上設置的對應的過濾器類型

 


免責聲明!

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



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