每个请求使用单个ObjectContext是否被认为是一种很好的做法?我读这些对象应该是短暂的,并且实例化并不是非常昂贵,但是这会使每个请求对其中的一个案例有吸引力吗?如果是的话,有没有适当的实施这种模式?ASP.NET中每个请求的实体框架对象上下文?
2
A
回答
5
是的,这是一个可接受的方法来使ObjectContext/DbContext具有每个HttpRequest的生命周期。 Here's a sample我在另一个答案中提供了。
Hoewever,最好将这些生命周期管理留给IoC库。着名的是Castle Windsor,Autofac。
更新:
要处理你的情况下,你可以使用Application_EndRequest
方法Global.asax中。下面的代码没有测试,但你会得到这个想法:
protected virtual void Application_EndRequest()
{
var key = "MyDb_" + HttpContext.Current.GetHashCode().ToString("x")
+ Thread.CurrentContext.ContextID.ToString();
var context = HttpContext.Current.Items[key] as MyDbContext;
if (context != null)
{
context.Dispose();
}
}
相关问题
- 1. 实体框架每个请求的上下文 - 如何处理错误?
- 2. 在实体框架中实现“每个对象一个实例”
- 3. 对现有实体框架对象的PUT请求
- 4. asp.net中的多个实体框架上下文
- 5. 实体框架上下文?
- 6. 实体框架上下文
- 7. ASP.NET MVC中的实体框架和对象上下文生存期
- 8. 实体框架,动态请求实体
- 9. 将实体框架中的对象树附加到对象上下文中
- 10. 每个请求的上下文背景:如何更新实体
- 11. 每个请求模式的实体框架
- 12. 连接没有上下文的实体框架对象?
- 13. 是一种处理实体框架上下文对象的
- 14. 实体框架为每个请求打开新连接
- 15. 每个请求缓存实体框架DbContexts
- 16. 实体框架,WCF,客户机和对象上下文质疑
- 17. 如何清理实体框架对象上下文?
- 18. 将实体框架上下文对象传递给WCF
- 19. 实体框架对象上下文保存未添加的新实体
- 20. 实体框架5在上下文关闭后获取对象的子对象
- 21. 实体框架 - 负载参考按键配置实体对象上下文
- 22. 实体框架上下文的接口
- 23. 实体框架 - 跨多个上下文在内存中缓存对象
- 24. 上下文中的实体框架上下文
- 25. DateTime对象(ASP.NET MVC /实体框架)列表上的DataType注释
- 26. 实体框架对象集
- 27. 实体框架TypeUsage对象
- 28. 实体框架POCO对象
- 29. 实体框架空对象
- 30. 在Spring REST中,请求对象是在每个请求上实例化的吗?
简短的回答:是的。更多细节(模式...):这是webforms还是MVC? – ken2k 2013-05-14 13:05:28
太棒了!它的webforms – kfc 2013-05-14 13:09:16