我看到默认情况下,MVC4 WebApi 项目有 2 个IFilterProviders
:ConfigurationFilterProvider
和ActionDescriptorFilterProvider
. 在设置自定义IFilterProvider
进行属性依赖注入时,首先从 Filters 集合中删除这两个是否合适?还是只删除ActionDescriptorFilterProvider
并将 留ConfigurationFilterProvider
在集合中更合适?
其次,我看到在ActionFilterAttribute
为特定操作构建 WebApi Http 之后,它似乎仍然存在。例如,当我在 ApiController Get 方法上放置自定义操作过滤器时,它只会在第一次调用该方法时构建。对 api 方法的后续调用似乎重用了相同的过滤器(构造函数断点仅在第一次调用期间被命中)。这是正确的吗?为什么它与 MVC 动作过滤器不同,后者为每个方法调用创建一个新实例?