如果我有下面的类结构:统一:从母公司注入到服务子
public AContainer : IContainer
{
public AContainer(ILogger log, IDataService dataService)
....
}
public BContainer : IContainer
{
public BContainer(ILogger log, IDataService dataService)
....
}
public DataService : IDataService
{
public DataService(ILogger log, ISomethingElse somethingElse, IWhatever whatever)
....
}
而且我想注册相同的DataService的两个不同的实例 - 一个注入的aContainer和一个注入BContainer - 将AContainer的日志注入到DataService中,并将BContainer的日志注入到DataService中。
一条路线似乎引导我注册完整的结构,使用ResolvedParameter,这感觉不舒服,因为我需要注册ISomethingElse和IW以及容器。
另一条路线将我引向财产注入,这通常是不鼓励的,但可能在这里有一个地方。
那么在IoC中是否存在这种问题的一种常见模式,并且它是否受Unity支持?
终于有机会尝试一下,除了我们的记录器在生成容器后解决属性注入问题之外,它会起作用。 Unity儿童容器最终给了我一个解决方案,不过谢谢你的回答。它帮助我走上了正确的道路。 – pdr 2013-07-29 15:07:36
我很乐意提供帮助。 – jlvaquero 2013-07-30 06:21:29