Unity singleton多个请求访问ASP.Net MVC 5

时间:2014-09-10 18:40:05

标签: entity-framework asp.net-mvc-5 unity-container

我正在使用MVC5和Unity。关于线程安全的单例,我有点困惑。多个用户共享同一个单例对象吗?我的理解是,将为每个请求创建一个单独的对象,并且两个用户将各自拥有自己的单例。这是对的吗?

[UPDATE]

假设我有一个Singleton类,其中包含property个实例来获取实例。在调用Instance时,访问该网站的两个用户是否会访问同一个单例对象?对象的范围是什么?范围是在多个用户之间共享还是每个用户都有自己的范围? Instance会为两个用户返回相同的对象吗?

1 个答案:

答案 0 :(得分:3)

这取决于您使用的确切终身经理。如果通过" singleton"您指的是容器控制的生命周期管理器,然后该实例将由所有用户共享,并且不会在请求的生命周期内创建。

另一方面,每个http上下文生命周期管理器完全符合您的期望。

没有"单身"但就其名而言。

http://msdn.microsoft.com/en-us/library/ff647854.aspx

http://msdn.microsoft.com/en-us/library/microsoft.practices.unity.perrequestlifetimemanager(v=pandp.30).aspx