在 StructureMap 中,如何在特定的 Container 实例上释放和处置所有 Http 范围的对象?对于对象工厂中的默认实例,我可以执行方法ReleaseAndDisposeAllHttpScopedObjects()
,但是Container类和IContainer接口似乎没有这种方法。
问问题
1745 次
1 回答
6
如果您查看 的内部结构ObjectFactory.ReleaseAndDisposeAllHttpScopedObjects
,您会发现它是一种方便的方法,如下所示:
public static void ReleaseAndDisposeAllHttpScopedObjects()
{
HttpContextLifecycle.DisposeAndClearAll();
}
IE。您可以调用该HttpContextLifecycle.DisposeAndClearAll
方法来清除对象。
编辑:由于 HttpContextLifecycle 是全局的,而不是每个容器,我认为嵌套容器方法将是在 Http 请求期间对对象生命周期进行更细粒度控制的解决方案。
于 2013-04-05T20:22:33.250 回答