Asp.net 在执行1次查询后处理的每个http请求的ObjectContext实例

Asp.net 在执行1次查询后处理的每个http请求的ObjectContext实例,asp.net,entity-framework,objectcontext,Asp.net,Entity Framework,Objectcontext,我正在考虑将ObjectContext放在HttpContext.Current中,以便同一请求中的所有逻辑都可以访问它,而无需每次打开/销毁。 在ObjectContextManager类中,我创建了这个 get { string ocKey = "ocm_" + HttpContext.Current.GetHashCode().ToString("x"); if (!HttpContext.Current.Items.Contains(ocKey)) HttpC

我正在考虑将ObjectContext放在HttpContext.Current中,以便同一请求中的所有逻辑都可以访问它,而无需每次打开/销毁。 在ObjectContextManager类中,我创建了这个

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();
  }
}
但当它尝试执行第二个查询时,它会被释放。
你能告诉我哪里出错了吗?你的代码与处理无关。如果您获得disposed context,这意味着您很可能使用将上下文检索包含到
中,并且您自己处理了实例。

您是否使用(Jenties Jenties=ObjectContextManager.CurrentObjectContext){var entities=Jenties.Foo;}
执行第一个查询?