我想知道是否明智地將實體框架的ObjectContext對象緩存在緩存中;這會給我帶來多個連接的問題,同時用戶會遇到問題嗎?ADO.NET實體框架ObjectContext - 緩存問題
我收到的錯誤是:'connection is currently closed',並想知道是否是由於多個用戶和緩存ObjectContext,或者它與多次刷新刷新或停止頁面並快速執行某些操作有關其他(我們做的事情是爲了得到錯誤)。
我想知道是否明智地將實體框架的ObjectContext對象緩存在緩存中;這會給我帶來多個連接的問題,同時用戶會遇到問題嗎?ADO.NET實體框架ObjectContext - 緩存問題
我收到的錯誤是:'connection is currently closed',並想知道是否是由於多個用戶和緩存ObjectContext,或者它與多次刷新刷新或停止頁面並快速執行某些操作有關其他(我們做的事情是爲了得到錯誤)。
我同意上面的說明。但是,我沒有任何問題緩存HttpContext.Current.Items集合中的對象上下文。另外一個良好的閱讀:
我不會建議。 ObjectContext需要處於活動狀態,以觀察對正在使用的任何實體的更改,或者在緩存ObjectContext之前需要斷開任何活動實體的連接。
如果你沒有活動實體,那麼就不需要緩存一個ObjectContext。在EFv1中,與斷開連接的實體一起工作最多是有問題的,因此我不會緩存或等待允許更多可管理實體(自我跟蹤實體,POCO實體等)的實體框架v4。
只是想我會添加一個最後一點 - 多個線程 - 也可能有問題。應用更改將嘗試提交由ObjectContext跟蹤的所有更改。如果多個用戶共享單個上下文...,那麼希望您可以看到問題。
謝謝,所以如果沒有緩存上下文,你是否建議分離從查詢返回的實體呢? – 2010-02-09 16:35:49
另外,如果我使用HttpContext.Current.Items集合,它只存儲它爲當前請求呢?我不確定這是否是全球用戶的全球性問題,但這又是一個類似的問題嗎?謝謝。 – 2010-02-09 18:24:00
對不起,遲了回覆 - 目前在路上。只要原始上下文得到妥善處置,即可拆卸 – RobS 2010-02-14 01:42:39
你只讀信息,或者您使用Save方法呢? – Zyphrax 2010-02-08 22:02:34
我都是用它讀/寫的。 – 2010-02-09 14:03:28