每個請求使用單個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