【问题标题】:Custom ActionInvoker vs custom FilterProvider for ActionFilter dependency injection in MVC 3用于 MVC 3 中 ActionFilter 依赖注入的自定义 ActionInvoker 与自定义 FilterProvider
【发布时间】:2011-11-21 00:18:39
【问题描述】:

谁能阐明使用自定义 ActionInvoker like so 对自定义 ActionFilters 执行依赖注入而不是使用自定义 FilterProvider as demonstrated here 的优缺点?

在这两种情况下,您仍然希望避免在 ActionFilters 上注入构造函数,而在我看来,在这种情况下,所有自定义 FilterProvider 所做的都是增加了必须在容器中注册 ActionFilters 和提供程序的额外开销.

【问题讨论】:

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


【解决方案1】:

过滤器提供程序的最大优势在于,如果操作正确,它允许构造函数注入。您链接的示例没有正确说明这一点。要使用构造函数注入,您不能使用过滤器属性。相反,您必须将要应用过滤器的声明(例如使用属性)和过滤器实现这两件事分开。

我不确定 Unity 是否有一个好的实现。看看http://www.planetgeek.ch/2010/11/13/official-ninject-mvc-extension-gets-support-for-mvc3/ 感觉如何。但这是一个 Ninject 示例。或许您可以在 github 上实现它并将其移植到 Unity。

【讨论】:

    猜你喜欢
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 2017-05-04
    相关资源
    最近更新 更多