Сделать объектный контекст (EF4 / CTP4) потокобезопасным? - PullRequest
0 голосов
/ 10 ноября 2010

Я использую последний выпуск Entity Framework 4 - CTP 4 для моего проекта в ASP.NET 4. Эта версия (EF4-CTP 4) дает возможность построить контекст объекта (или DBContext) с использованием подхода, основанного на первом коде. У этого подхода есть свой недостаток, который требует много времени, поэтому я собираю его один раз при запуске приложения. Однако я читал во многих статьях, что, возможно, не стоит создавать одноэлементный объект Object Context. Поэтому я хочу сохранить небольшой контекстный экземпляр может быть за сеанс.

Итак, мои вопросы: 1. Желательно ли иметь общий объектный контекст в нескольких сеансах? 2. Если мы хотим иметь один экземпляр для каждой сессии, можем ли мы создать его один раз и использовать его для нескольких сеансов? 3. Как мы можем поддерживать параллелизм / фиксацию при совместном использовании в течение сеанса?

Спасибо.

1 Ответ

3 голосов
/ 10 ноября 2010

Я бы предложил не использовать Singleton . Вот SO вопрос, обсуждающий, почему .

Это также зависит от того, является ли это веб-приложением / приложением Windows, но в веб-приложениях мы помещаем OC в HttpContext с помощью контейнера DI.

Таким образом, только одно соединение открывается на HTTP-запрос.

...