Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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
Unity container Unity IOC容器以及如何解析同一接口的不同实例_Unity Container_Ioc Container - Fatal编程技术网

Unity container Unity IOC容器以及如何解析同一接口的不同实例

Unity container Unity IOC容器以及如何解析同一接口的不同实例,unity-container,ioc-container,Unity Container,Ioc Container,我有一个unity容器,我正在其中注册类型,如下所示: IUnityContainer container = new UnityContainer() .RegisterType<ITaxAuthorityRateService, TaxAuthorityPopulationRateService>( "PopulationRate" ) .RegisterType<ITaxAuthorityRateService, TaxAuthorityBusinessLicen

我有一个unity容器,我正在其中注册类型,如下所示:

    IUnityContainer container = new UnityContainer()
.RegisterType<ITaxAuthorityRateService, TaxAuthorityPopulationRateService>( "PopulationRate" )
.RegisterType<ITaxAuthorityRateService, TaxAuthorityBusinessLicenseRateService>( "BusinessLicenseRate" );
IUnityContainer container=newunitycontainer()
.RegisterType(“填充率”)
.RegisterType(“业务许可证费率”);

然后,我还想注册两个不同的服务,它们在构造函数中使用ITaxAuthorityRateService变量。这两个服务都需要从ITaxAuthorityRateService派生的不同类。我该怎么处理这种情况呢?

好的,我想出来了。在注册期间保持名称相同是正确的(“PopulationRate”和“BusinessLicenseRate”)。我所要做的就是在每个服务的构造函数中为ITaxAuthorityRateService参数添加一个属性,如下所示:

Service1构造函数参数:

[Dependency( "BusinessLicenseRate" )]
ITaxAuthorityRateService rateService
[Dependency( "PopulationRate" )]
ITaxAuthorityRateService rateService
Service2构造函数参数:

[Dependency( "BusinessLicenseRate" )]
ITaxAuthorityRateService rateService
[Dependency( "PopulationRate" )]
ITaxAuthorityRateService rateService

然后,每个服务都收到了正确的ITaxAuthorityRateService实例。

好的,我知道了。在注册期间保持名称相同是正确的(“PopulationRate”和“BusinessLicenseRate”)。我所要做的就是在每个服务的构造函数中为ITaxAuthorityRateService参数添加一个属性,如下所示:

Service1构造函数参数:

[Dependency( "BusinessLicenseRate" )]
ITaxAuthorityRateService rateService
[Dependency( "PopulationRate" )]
ITaxAuthorityRateService rateService
Service2构造函数参数:

[Dependency( "BusinessLicenseRate" )]
ITaxAuthorityRateService rateService
[Dependency( "PopulationRate" )]
ITaxAuthorityRateService rateService
然后每个服务都收到了正确的ITaxAuthorityRateService实例