授权属性生命周期

时间:2013-09-27 17:19:36

标签: asp.net-mvc authorize-attribute

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

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

的控制器方法获取新的authorize属性构造函数调用

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

1 个答案:

答案 0 :(得分:9)

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