【发布时间】:2017-12-13 13:17:42
【问题描述】:
我在 MVC 中创建一个动作过滤器,我创建了一个继承自 ActionFilterAttribute 类的新属性,并实现了 OnActionExecuted 方法。然后我用这个新属性装饰了一个动作。当我第一次调用该操作时,一切都很好,然后调用 Attribute 的构造函数,然后调用 OnActionExecuted 方法。当我第二次调用这个相同的action时,发现没有调用Attribute的构造函数,并且仍然保留了第一次调用Action时设置的内部属性成员的状态,这显然意味着相同属性的实例用于对操作的所有调用。有没有办法为每个属性调用强制一个新实例?
【问题讨论】:
-
第一次调用构造函数来构建属性,一旦你访问了动作就不会再次调用,因为属性已经构造好了,有点像静态构造函数。这是一个猜测,请提供代码。
-
你能提供一些代码吗?很难想象你到底想达到什么目标以及你被困在哪里。
标签: c# asp.net-mvc attributes action-filter