.NET 过滤器

gitee地址

一.过滤器一些注意点

1.过滤器的添加位置,与调用位置毫无关系
官方的图:

只有资源过滤器和方法过滤器分为过滤器执行之前,和之后,其他过滤器都只执行一次
----------------------------2022-04-20--------------------------
2.过滤器执行顺序
作用范围不同的过滤器:执行中(execting)全局过滤器先执行,然后是类过滤器执行,然后是方法过滤器执行,执行之后(exected)正好是反过来
过滤器的执行顺序为:授权过滤器->资源过滤器->动作过滤器->结果过滤器->异常过滤器

二.各种过滤器的用法

1.授权过滤器(Authorization)
特点:

  • 是过滤器管道中运行的第一个过滤器
  • 控制对操作方法的访问
  • 具有在它之前的执行的方法,但没有之后执行的方法

如果在授权过滤器出现异常,异常过滤器不会接收到异常,出现异常了,请小心应对
2.资源过滤器(Resource)
特点:

  • 实现IResourceFilter或IAsyncResourceFilter接口(一个同步,一个异步)
  • 执行会覆盖过滤器管道的绝大部分
  • 只有授权过滤器在资源过滤器之前运行

管道短路器:

  • 可以防止模型绑定访问表单数据
  • 用于上传大型文件,以防止表单数据被读入内存

----------------------------2022-04-21--------------------------

三.过滤器注入

过滤器要想使用注入,需要使用typefilter特性

注意:异常过滤器中不会拿到授权过滤器,结果,及资源过滤器的错误

posted @ 2022-03-12 09:38  rookiexwang  阅读(262)  评论(0编辑  收藏  举报