据此documentation for ASP.NET Filters过滤器按以下顺序运行:
每种过滤器类型中都有一个过滤器Order,用于指定运行顺序。
到目前为止已经感觉到了...但是后来变得奇怪了。
还有另一种排序方法[[在每种过滤器类型和顺序内],这表示为以下值的枚举:public enum FilterScope
{
First = 0,
Global = 10,
Controller = 20,
Action = 30,
Last = 100,
}
动作过滤器的运行顺序中全局,控制器和动作具有什么方位?
例如:
如果我有两个动作过滤器,它们的运行顺序分别为Controller和Action的运行顺序分别为1和FilterScope
。
除了先订购一个外,Controller
和Action
对什么有影响?
进一步的奇异之处
According to this,FilterScope
为过滤器提供第三级排序。 Controller
,Global
或Action
是如何不受限制地仅在Controller
,Action
上使用且不一定全局应用的过滤器的顺序?它不是订单的描述。而且,如果确实提供了第三级过滤,为什么它只限于5个选项?
根据本文档的ASP.NET筛选器,筛选器按以下顺序运行:授权筛选器,操作筛选器,响应筛选器,异常筛选器在每种筛选器类型中都有一个...
Authorization,Action,Response和Exception过滤器是您可以用来运行过滤器逻辑的4个接口,分别是Order
,Order
,IAuthorizationFilter
和IAuthorizationFilter
接口。
有
过滤器顺序