DI Unity在多个项目中-最佳实践

蓝光

我有个问题。我在通用解决方案中有带有Unity DI容器的WPF项目,库项目和WCF项目。在WCF库中是从数据库读取的服务。在构造函数中设置了UserManager,但这有一个错误。

我的问题是解决方案中的每个项目中都必须包含统一容器,或者我可以配置一个统一容器以使它在整个解决方案中都能找到依赖关系?

我的容器配置如下:

var container = new UnityContainer();
container.RegisterTypes(
    AllClasses.FromLoadedAssemblies(), 
    WithMappings.FromMatchingInterface, 
    WithName.Default);

但是它不能解决WCF应用程序中的依赖关系。

史蒂文

解决方案中的每个项目中都必须包含统一容器,还是我可以配置一个统一容器,以便它可以找到整个解决方案中的依赖项?

两者都不。通常,您将使每个启动项目创建其自己的容器,并配置其依赖项。由于您有多个启动项目(Web服务和桌面应用程序),因此将在多个位置配置容器。这与“合成根”的概念有关另请参阅合成根重用以获取更多详细信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章