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



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

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

我的容器配置如下:

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

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

。您通常会让每个启动项目创建自己的容器,并配置其依赖项。由于您有多个启动项目(一个web服务和一个桌面应用程序),因此您将有多个位置来配置容器。这与Composition根的概念有关。要了解更多细节,还可以查看组合根重用。

最新更新