2013-09-26 16 views
1

目前我使用Microsoft.Practices.Unity.HierarchicalLifetimeManager作爲我的控制器的生命週期管理器,因爲它調用它所包含的對象的處置。然而,現在我似乎遇到了跨線程問題(多個請求變量混在一起)。進一步閱讀終身管理器,它實現了一個Singleton模式,我相信這是我的問題。最適合Controller的Lifetime Manager?

我正在使用Unity 2.1。任何人都可以推薦最適合的生命週期管理器來與ASP.net MVC控制器一起使用,這將在每個請求結束時調用它的每個包含對象的處置?

非常感謝。

回答

1

我認爲任何here不作爲單身人士應該工作。你需要爲你的需求選擇最好的。 PerThreadLifetimeManager聽起來不錯,雖然它不叫Dispose。但是,當線程死亡時它將被垃圾收集。

+0

謝謝。你知道IIS是否會保證每個請求有唯一的線程?如果是這樣,使用PreThreadLifetimeManager將有效地是一個PerRequestLifetimeManager,是否正確? –

+0

是的,每個請求都是一個線程。 –

+0

謝謝。我會找到解決Dispose問題的方法。 –