C# Unity:为InjectionConstructor提供参数

C# Unity:为InjectionConstructor提供参数,c#,dependency-injection,unity-container,C#,Dependency Injection,Unity Container,我正在使用Unity解析一个存储库,该存储库在参数中需要两个工厂类。下面是我的存储库构造函数: //repo constructor public MyRepo(IChannelClientFactory<IRemotedVisitorChat> chatFactory, IChannelClientFactory<IRemotedVisitorWebsite> siteFactory ) { ChatFactory = chat

我正在使用Unity解析一个存储库,该存储库在参数中需要两个工厂类。下面是我的存储库构造函数:

//repo constructor
public MyRepo(IChannelClientFactory<IRemotedVisitorChat> chatFactory, IChannelClientFactory<IRemotedVisitorWebsite> siteFactory  )
        {
            ChatFactory = chatFactory;
            SiteFactory = siteFactory;
        }
以前,RemotingClientFactory有一个无参数构造函数,但在进行重构时,我添加了
字符串endpointName

我是这样注册我的存储库的:

container.RegisterType<IMyRepo, MyRepo>(new HierarchicalLifetimeManager(), new InjectionConstructor(typeof (RemotingClientFactory)));
container.RegisterType(新层次结构CallifeTimeManager(),新注入构造函数(typeof(RemotingClientFactory));
最初,MyRepo构造函数只有一个参数,RemotingClientFactory的构造函数没有任何参数


我在野草中迷了路,正在读《联合文件》。如何为RemotingClientFactory提供初始化字符串?

首先,您需要注册您的
iChannelClient Factory
实现,并为每个实现指定要使用的
endpointName
值。(以下字符串值应替换为希望使用的
endpointName
值)


您是否尝试过半手动的
InjectionFactory
方法?如果我能找到我试图做的事情的答案,我将使用该方法分别是
ChatFactory
SiteFactory
RemotingClientFactory
RemotingClientFactory
派生的每个类?
container.RegisterType<IMyRepo, MyRepo>(new HierarchicalLifetimeManager(), new InjectionConstructor(typeof (RemotingClientFactory)));
container.RegisterType<IChannelClientFactory<IRemotedVisitorChat>, RemotingClientFactory<IRemotedVisitorChat>>(new InjectionConstructor("ChatEndpointName"));
container.RegisterType<IChannelClientFactory<IRemotedVisitorWebsite>, RemotingClientFactory<IRemotedVisitorWebsite>>(new InjectionConstructor("WebsiteEndpointName"));
container.RegisterType<IMyRepo, MyRepo>();