自定义ActionInvoker与MVC 3中的ActionFilter依赖注入的自定义FilterProvider

时间:2011-11-20 05:37:42

标签: asp.net-mvc-3 dependency-injection unity-container

任何人都可以了解使用自定义ActionInvoker like so对自定义ActionFilters执行依赖项注入的优缺点,而不是使用自定义FilterProvider as demonstrated here吗?

在这两种情况下,您仍然希望避免在ActionFilters上进行构造函数注入,对我来说,似乎所有自定义FilterProvider在这种情况下都会增加额外的开销,即必须在容器中注册ActionFilters和提供程序

1 个答案:

答案 0 :(得分:4)

过滤器提供程序的一大优势是,如果正确完成,它允许构造函数注入。您链接的示例未正确演示。要使用构造函数注入,您不能使用过滤器属性。相反,您必须将要应用过滤器的声明(例如,使用属性)和过滤器实现分开。

我不确定Unity是否有良好的实施方式。请参阅http://www.planetgeek.ch/2010/11/13/official-ninject-mvc-extension-gets-support-for-mvc3/感觉如何。但这是一个Ninject的例子。可能你可以在github上实现它的实现并将它移植到Unity。