有没有办法从现有的容器中创建一个新的 StructureMap 容器?我想拥有来自第一个容器的所有依赖项以及新容器中的其他依赖项。
问问题
170 次
1 回答
2
嵌套容器从其父容器中提取所有非瞬态实例(Singleton、HttpContext、ThreadLocalStorage 范围等)。一旦处置,它将处置在其中实现IDisposable
的所有瞬态对象。
您使用以下方法创建嵌套容器:
using (IContainer nested = ObjectFactory.Container.GetNestedContainer())
{
var service = nested.GetInstance<IService>();
service.DoSomething();
}
当您需要对其中瞬态的生命周期进行细粒度控制时,通常使用嵌套容器,例如创建和处置每个HttpRequest
场景中使用的对象。
于 2013-05-28T14:00:47.613 回答