В официалната документация
се посочва, че MongoServer
, MongoDatabase
и MongoCollection
са безопасни за нишки и че трябва да създадете един единствен MongoServer
за всяка база данни, към която се свързвате.
Така MongoServer
, MongoDatabase
и MongoCollection
могат безопасно да бъдат конфигурирани да бъдат единични. MongoServer
дори ще помогне за налагането на това, като върне същата MongoDatabase
екземпляр за последователни извиквания и MongoDatabase
ще направи същото нещо за MongoCollection
с.
т.е. вашия MongoServer
екземплярът може безопасно да бъде конфигуриран да има единичен начин на живот във вашия IoC контейнер и можете също така да настроите инжектиране за MongoDatabase
и може би дори MongoCollection
както добре.
Аз самият използвам тази стратегия с Windsor - можете да видите моя MongoInstaller
тук:https://gist.github.com/2427676
- позволява на моите класове просто да продължат и да направят това:
public class SomeClass
{
public SomeClass(MongoCollection<Person> people)
{ ... }
}
за да имате инжектирана колекция, хубава и готова за използване.