欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

25. 过滤器 要点 有大用

image.png



Cross-cutting concerns  贯穿特性,横切关注点 

(比如授权,做日志)

image.png





过滤器 filter 的例子

image.png




image.png




过滤器相当于几个钩子


image.png




●IFilterMetadata

    ●IAuthorizationFilter, IAsyncAuthorizationFilter       # 有Async的为异步版本 ,,下面几个都有异步版本

    ●lResourceFilter

    ●IActionFilter

    ●lExceptionFilter

    ●IResultFilter


image.png




image.png



IResourceFilter 继承于 IFilterMetadata

image.png






image.png



异步版本,,,,,我们一般情况下使用同步的版本吧

image.png


还应继承 Attribute

image.pngimage.png

还应继承 Attribute

image.png



image.png



在action 上应用 filter

image.png





image.png





在controller 上应用 filter

image.png



在 这个 controller 上的所有的 action 的页面上都能够看到如下的日志内容

image.png



都注释掉

image.png






全局应用此过滤器,三种方法都可以

image.png




HomeController 起作用了

image.png





另一个 Controller 也起作用了

image.png




几个 filter 执行顺序   全局 -> Controller -> Base Controller ->Action ,,,返回去的时候顺序相反

image.png





















































































普通分类: