entity-framework - Unity单例多请求访问ASP.Net MVC 5

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

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

[更新]

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

最佳答案

这取决于您使用的确切生命周期管理器。如果“单例”指的是容器控制的生命周期管理器,那么该实例将由所有用户共享,并且不会在请求的生命周期内创建。

另一方面,每个 http 上下文生命周期管理器完全按照您的预期执行。

不过,其名称中都没有“singleton”。

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

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

关于entity-framework - Unity单例多请求访问ASP.Net MVC 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25772712/

相关文章:

asp.net-mvc - 没有 Controller 或 Action 名称的 Asp.net mvc 路由

c# - 如何在 Unity 中使用 Serilog?

c# - 在 Mvc 4 中使用每类型表继承将对象添加到数据库

c# - 使用包含 EF 时可能的 SQL 注入(inject)?

entity-framework - 如何向 ADO.NET Entity Framework 中的实体添加项目

model-view-controller - 如何处理业务逻辑错误和警告,应该/应该在 ASP.NET MVC 的当前 View 中修复?

c# - 我正在尝试在 MVC 5 中使用 Session 来传递最近注册用户的 Id

c# - 单元测试 IInterceptionBehavior

.net - 团结 : how to resolve class through base interface

c# - 使用 Entity Framework 的通用存储库,如何查询实现特定接口(interface)的实体?