【问题标题】:DefaultControllerFactory vs IDependencyResolverDefaultControllerFactory 与 IDependencyResolver
【发布时间】:2023-04-11 04:01:01
【问题描述】:

我有一点误解:当我们实现 IDependencyResolver 时,这意味着我们可以在项目的每个部分使用 DI。因此,即使我不从 DefaultControllerFactory 继承,我也可以构建具有依赖关系的控制器?

编辑:我建议查看所有这些 Brad Wilson's posts
this post 也很有用

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 dependency-injection inversion-of-control


    【解决方案1】:

    学究笔记先。您不能从接口 (IDependencyResolver) 继承,但我假设您的意思是实现。

    简而言之,您可以选择使用其中一个,但您不会同时使用这两个。因此,如果您设置了解析器,则不需要控制器工厂,反之亦然。

    我只在 mvc 中使用了 Castle-windsor 中的 DefaultControllerFactory。如果您也在使用 castle-windsor,则需要警惕使用 IDependencyResolver 的一个松散端,有 no release method 但可能有解决方法。

    对于其他框架,例如 ninjectunity,IDependencyResolver 有时更可取。

    【讨论】:

    • 我使用ninject。所以,使用其中之一的唯一原因是注入依赖项,对吧?而且我不需要重写 GetControllerInstance() 方法来创建控制器?
    • 我没有这方面的经验,但从阅读看来你是对的。从上面的 ninject 链接中,查看问题中的第二个示例。你可能想看看github.com/ninject/ninject.web.mvc/wiki/MVC3
    • 我从上面的例子中阅读了同一本书,因此出现了问题)其他链接也非常有用。
    猜你喜欢
    • 2023-03-06
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多