2013-09-26 14 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问题的方法。 –