我想知道 ActionFilterAttribute 属性的执行是否有顺序。我猜测本地的(在控制器的操作上定义的 ActionFilterAttribute)正在按照在操作上定义的顺序执行。
然而,有人不知道全局过滤器是否先于本地过滤器应用,反之亦然吗?另外,如果有一个定义的顺序而不仅仅是任意的,它在 Mvc 版本之间是否一致?
提前致谢
汤姆
有几个影响因素决定了操作过滤器属性的运行顺序,从docs
在每个过滤器类型中,顺序值指定运行顺序。在每个过滤器类型和顺序中,Scope 枚举值指定过滤器的顺序。此枚举定义了以下过滤器范围值(按照它们运行的顺序):
- First
- Global
- 控制器
- Action
- Last
另外,你的假设
我猜测本地的(在控制器的操作上定义的 ActionFilterAttribute)正在按照在操作上定义的顺序执行
不正确,没有定义过滤器的顺序/范围
具有相同类型、顺序和范围的过滤器的执行顺序是未定义的。
如果您关心它们的执行顺序,那么您应该使用Order财产。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)