Экземпляр ObjectContext для каждого http-запроса располагается после 1 выполнения запроса - PullRequest
2 голосов
/ 30 мая 2011

Я рассматриваю возможность помещения 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();
  }
}

Но он удаляется, когда пытается выполнить второй запрос. Можете ли вы сказать мне, где я ошибся?

1 Ответ

2 голосов
/ 30 мая 2011

удалялись? Ваш код не имеет ничего общего с удалением. Если вы получили удаленный контекст, это означает, что вы, скорее всего, заключили извлечение контекста в using, и вы удалили экземпляр сами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...