gpt4 book ai didi

asp.net-mvc - ASP.Net MVC ActionFilterAttributes 排序全局与本地

转载 作者:行者123 更新时间:2023-12-04 00:37:35 24 4
gpt4 key购买 nike

我想知道是否有执行 ActionFilterAttribute 属性的顺序。我猜本地的(在 Controller 的 Action 上定义的 ActionFilterAttribute)正在按照它们在 Action 上定义的顺序执行。

然而,是否有人不知道全局过滤器是否在本地过滤器之前应用,反之亦然?此外,如果有一个定义的顺序而不是任意的,它是否在 Mvc 版本之间保持一致?

提前致谢汤姆

最佳答案

有几个影响因素决定了操作过滤器属性的运行顺序,来自 docs

Within each filter type, the Order value specifies the run order. Within each filter type and order, the Scope enumeration value specifies the order for filters. This enumeration defines the following filter scope values (in the order in which they run):

  1. First
  2. Global
  3. Controller
  4. Action
  5. Last

另外,你的假设

I am guessing the local ones (an ActionFilterAttribute defined on the Action of a Controller) are executing in the order they are defined on the Action

不正确,没有定义顺序/范围的过滤器没有定义的顺序

The execution order of filters that have the same type, order, and scope is undefined.

如果您关心它们的执行顺序,那么您应该使用 Order 指定它属性(property)。

关于asp.net-mvc - ASP.Net MVC ActionFilterAttributes 排序全局与本地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22860842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com