2
我正在考慮將ObjectContext置於HttpContext.Current中,以便相同請求中的所有邏輯都可以訪問它,而無需每次都打開/銷燬。 在ObjectContextManager類中,我創建了這個。執行1個查詢後處理的每個http請求的ObjectContext實例
get {
string ocKey = "ocm_" + HttpContext.Current.GetHashCode().ToString("x");
if (!HttpContext.Current.Items.Contains(ocKey))
HttpContext.Current.Items.Add(ocKey, new JEntities());
return HttpContext.Current.Items[ocKey] as JEntities;
}
然後我每次對當前請求執行查詢時調用此靜態屬性。
public static JEntities CurrentObjectContext {
get {
if (ObjectContextManager == null)
InstantiateObjectContextManager();
return ObjectContextManager.ObjectContext;
//return new JobsEntities();
}
}
但它會在嘗試執行第二個查詢時處理。 你能告訴我我哪裏出錯了嗎?
你在執行第一個查詢,比如'using(JEntities jEntities = ObjectContextManager.CurrentObjectContext){var entities = jEntities.Foo;}'? – Eranga 2011-05-30 08:43:47