10

有人可以解释为什么授权属性生命周期似乎是相对于它所应用的类或方法进行管理的吗?这与相对于请求生命周期进行管理相反。

如果我在类级别装饰控制器,则授权属性构造函数只会在对同一控制器的多个请求中调用一次。如果我装饰每个控制器方法,那么我会为每个调用的控制器方法获得新的授权属性构造函数调用。

这是什么行为?我希望每次请求都会创建授权属性。

4

1 回答 1

11

ASP.NET MVC 将缓存 ActionFilters 并尝试在后续请求中重用它们。实际授权将发生在每个请求上,但构造函数只会在第一个请求时被调用。您不应在 ActionFilter 中维护任何内部状态。

于 2013-12-04T21:09:56.660 回答