5

在 StructureMap 中,如何在特定的 Container 实例上释放和处置所有 Http 范围的对象?对于对象工厂中的默认实例,我可以执行方法ReleaseAndDisposeAllHttpScopedObjects(),但是Container类和IContainer接口似乎没有这种方法。

4

1 回答 1

6

如果您查看 的内部结构ObjectFactory.ReleaseAndDisposeAllHttpScopedObjects,您会发现它是一种方便的方法,如下所示:

public static void ReleaseAndDisposeAllHttpScopedObjects()
{
    HttpContextLifecycle.DisposeAndClearAll();
}

IE。您可以调用该HttpContextLifecycle.DisposeAndClearAll方法来清除对象。

编辑:由于 HttpContextLifecycle 是全局的,而不是每个容器,我认为嵌套容器方法将是在 Http 请求期间对对象生命周期进行更细粒度控制的解决方案。

于 2013-04-05T20:22:33.250 回答