Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 多个项目中的DI统一-最佳实践_Wpf_Wcf_Dependency Injection_Unity Container - Fatal编程技术网

Wpf 多个项目中的DI统一-最佳实践

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

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

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

我的容器配置如下:

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: