Как реализовать контекст данных для каждого запроса / потока с использованием фабричного шаблона

Используя этот образец проекта в качестве руководства, я настраиваю новый проект. Мой проект будет следовать той же базовой архитектуре, только в дополнение к проекту mvc, у меня также будет проект веб-службы wcf (или, возможно, servicestack.net)

Вместо использования Unity для DI, как в примере, я использую Ninject. В настоящее время я настраиваю Ninject следующим образом, чтобы создать только один экземпляр фабрики базы данных для каждого веб-запроса (и, таким образом, один класс datacontext для каждого запроса (используя сначала код EF 4.1, кстати))

 kernel.Bind()
       .To()
       .InScope(ctx => HttpContext.Current);

Мне любопытно, достаточно ли этого метода? Или было бы лучше позволить фабричному классу обрабатывать создание экземпляра контекста данных для каждого HTTP-запроса (и, возможно, для каждого потока, если бы я проектировал не веб-интерфейс в будущем)? Если да, то есть ли какие-нибудь примеры того, как это сделать?

Или есть лучшее решение, чтобы справиться с этим?

5
задан BrokenGlass 30 September 2011 в 17:17
поделиться