我有点误解:实现IDependencyResolver时,意味着我们可以在项目的每个部分使用DI。因此,即使我不从DefaultControllerFactory继承,我也可以构建重新依赖依赖项的 Controller ?
编辑:我建议仔细阅读所有这些 Brad Wilson's posts
this post 也很有用
最佳答案
脚注首先。您不能从接口(interface)(IDependencyResolver)继承,但我认为您的意思是实现。
简而言之,您可以选择使用两者之一,也可以不使用两者。因此,如果您设置了解析器,则不需要 Controller 工厂,反之亦然。
我只在CaSTLe-windsor的mvc中使用DefaultControllerFactory。如果还使用CaSTLe-windsor,则需要警惕使用IDependencyResolver的一个松散结局,虽然存在no release method,但是可能有解决方法。
对于ninject或unity之类的其他框架,有时最好使用IDependencyResolver。