所有
我需要配置StructueMap来解析嵌套容器中每个顶级请求的类的新实例。
让我试着解释一下,以下所有代码都是一个简化的例子,但应该显示我想要实现的目标。
将共享的对象IDependency
服务/存储库设置:
public class Service1
{
public Service1(Repository1 repository, IDependency dependency) { }
}
public class Service2
{
public Service2(Repository2 repository, IDependency dependency) { }
}
public class Repository1
{
public Repository1(IDependency dependency) { }
}
public class Repository2
{
public Repository2(IDependency dependency) { }
}
正如您所看到的,依赖关系是如此
Service1
需要Repository1
和IDependency
,然后Repository1需要IDependency
Service2
需要Repository2
和IDependency
,然后Repository2需要IDependency
对于Service1
和Repository1
,我希望他们共享同一个IDependancy
然后对于Service2
和Repository2
我希望他们共享同一个IDependancy
但我不希望Service1
和Service2
共享同一个IDependancy
我正在解析Service1
和Service2
using (IContainer container = rootContainer.GetNestedContainer())
{
Service1 service1 = container.GetInstance<Service1>();
Service2 service2 = container.GetInstance<Service2>();
}
是否有可能让服务和存储库共享同一个IDependancy
实例,但不能在不同服务之间共享,所有这些都在同一个嵌套容器中,是否可能?
由于
史蒂夫