2

我看到默认情况下,MVC4 WebApi 项目有 2 个IFilterProvidersConfigurationFilterProviderActionDescriptorFilterProvider. 在设置自定义IFilterProvider进行属性依赖注入时,首先从 Filters 集合中删除这两个是否合适?还是只删除ActionDescriptorFilterProvider并将 留ConfigurationFilterProvider在集合中更合适?

其次,我看到在ActionFilterAttribute为特定操作构建 WebApi Http 之后,它似乎仍然存在。例如,当我在 ApiController Get 方法上放置自定义操作过滤器时,它只会在第一次调用该方法时构建。对 api 方法的后续调用似乎重用了相同的过滤器(构造函数断点仅在第一次调用期间被命中)。这是正确的吗?为什么它与 MVC 动作过滤器不同,后者为每个方法调用创建一个新实例?

4

1 回答 1

1

首先从 Filters 集合中删除这两个是否合适?

我已经成功地在动作过滤器上实现了依赖注入,而没有删除这些过滤器提供者中的任何一个。事实上,我正在ActionDescriptorFilterProvider使用 StructureMap 扩展我的示例。

http://evolutionarydeveloper.blogspot.co.uk/2012/11/webapi-actionfilter-dependency.html

恐怕我无法解释你的第二个问题:-)

于 2012-11-07T23:05:45.643 回答