Wpf 多个项目中的DI统一-最佳实践
我有个问题。我有统一DI容器的WPF项目、库项目和通用解决方案中的WCF项目。在WCF库中是从数据库中读取的服务。在构造函数中设置UserManager,但这有一个错误 我的问题是,解决方案中的每个项目都必须有unity容器,或者我可以配置一个unity容器,以便它在整个解决方案中找到依赖项 我的容器配置如下:Wpf 多个项目中的DI统一-最佳实践,wpf,wcf,dependency-injection,unity-container,Wpf,Wcf,Dependency Injection,Unity Container,我有个问题。我有统一DI容器的WPF项目、库项目和通用解决方案中的WCF项目。在WCF库中是从数据库中读取的服务。在构造函数中设置UserManager,但这有一个错误 我的问题是,解决方案中的每个项目都必须有unity容器,或者我可以配置一个unity容器,以便它在整个解决方案中找到依赖项 我的容器配置如下: var container = new UnityContainer(); container.RegisterTypes( AllClasses.FromLoadedAssem
var container = new UnityContainer();
container.RegisterTypes(
AllClasses.FromLoadedAssemblies(),
WithMappings.FromMatchingInterface,
WithName.Default);
但它不能解决WCF应用程序中的依赖关系
unity容器必须位于解决方案中的每个项目中,或者我可以配置一个unity容器,以便它在整个解决方案中找到依赖项
都不是。您通常会让每个启动项目创建自己的容器,并配置其依赖项。由于您有多个启动项目(一个web服务和一个桌面应用程序),因此您将在多个地方配置容器。这是有关的概念。也可以查看更多详细信息
unity容器必须位于解决方案中的每个项目中,或者我可以配置一个unity容器,以便它在整个解决方案中找到依赖项
都不是。您通常会让每个启动项目创建自己的容器,并配置其依赖项。由于您有多个启动项目(一个web服务和一个桌面应用程序),因此您将在多个地方配置容器。这是有关的概念。有关更多详细信息,请参阅。您只需要一个容器。谢谢。整个解决方案只有一个容器?我的容器配置如下:var container=\u container??(_container=newunitycontainer());container.RegisterTypes(AllClasses.FromLoadedAssemblies(),WithMappings.FromMatchingInterface,WithName.Default);但是不要向WCF应用程序注入依赖关系。如果WCF项目位于远程服务器上,而WPF应用程序位于客户端,那么每一方都需要一个容器。谢谢,这实际上是一个逻辑容器。但如何为unity配置WCF应用程序?在App.xaml.cs中的WPF创建UnityContainer实例中,在哪里配置WCF中的容器?这篇MSDN文章展示了如何在WCF中使用Unity:您只需要一个容器。谢谢。整个解决方案只有一个容器?我的容器配置如下:var container=\u container??(_container=newunitycontainer());container.RegisterTypes(AllClasses.FromLoadedAssemblies(),WithMappings.FromMatchingInterface,WithName.Default);但是不要向WCF应用程序注入依赖关系。如果WCF项目位于远程服务器上,而WPF应用程序位于客户端,那么每一方都需要一个容器。谢谢,这实际上是一个逻辑容器。但如何为unity配置WCF应用程序?在App.xaml.cs中的WPF创建UnityContainer实例中,在WCF中的何处配置容器?这篇MSDN文章展示了如何在WCF中使用Unity: