asp.net-mvc-3 - 用于 MVC 3 中 ActionFilter 依赖注入(inject)的自定义 ActionInvoker 与自定义 FilterProvider

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

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

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

最佳答案

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

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

关于asp.net-mvc-3 - 用于 MVC 3 中 ActionFilter 依赖注入(inject)的自定义 ActionInvoker 与自定义 FilterProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8199691/

相关文章:

c# - 在仍然使用依赖注入(inject)的同时创建新实例

asp.net-mvc - Knockout.js 和复选框列表 : post to mvc controller

asp.net-mvc - ASP MVC Ajax 和模型重新绑定(bind)

java - Dagger 2 不生成子组件实现

c# - 如何使用 Unity 名称动态注册泛型类?

.net - Unity框架-重用实例

asp.net-mvc - asp.net mvc 的 Ninject 和 Filter 属性的依赖注入(inject)

asp.net-mvc - URL 不同于 View 名称 ASP MVC 3

c# - Microsoft 依赖注入(inject)和逆变

dependency-injection - 带有 NullReferenceException 的 Xamarin 跨平台中的 Ninject 实现