2013-04-05 48 views

回答

6

如果你看看ObjectFactory.ReleaseAndDisposeAllHttpScopedObjects的內部,你可以看到它是這樣實現的方便性方法:

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

IE。您可以調用HttpContextLifecycle.DisposeAndClearAll方法清除對象。

編輯:由於HttpContextLifecycle是全局的,而不是每個容器,我認爲一個nested container方法將是一個解決方案,以獲得更好的Http請求期間的對象生存期的細粒度控制。

+0

謝謝,但它似乎處置所有的Http作用域對象,不僅僅是來自當前容器實例的對象。 – 2013-04-05 20:30:41

+0

@ guillegr123 - 'HttpContextLifecycle'是全局的,而不是每個容器。 – PHeiberg 2013-04-05 20:34:35

+0

如果你想控制'HttpRequest'中的特定對象的生命週期,我認爲你應該使用[嵌套容器](http://codebetter.com/jeremymiller/2010/02/10/nested-containers-in- structuremap-2-6-1 /)方法。 – PHeiberg 2013-04-05 20:40:22

相關問題