V oficiální dokumentaci
je uvedeno, že MongoServer
, MongoDatabase
a MongoCollection
jsou bezpečné pro vlákna a že byste měli vytvořit jeden jediný MongoServer
pro každou databázi, ke které se připojujete.
Tedy MongoServer
, MongoDatabase
a MongoCollection
lze bezpečně nakonfigurovat jako singletony. MongoServer
dokonce to pomůže vynutit tím, že vrátí stejnou MongoDatabase
instance pro po sobě jdoucí volání a MongoDatabase
udělá to samé pro MongoCollection
s.
Tj. váš MongoServer
instanci lze bezpečně nakonfigurovat tak, aby ve vašem kontejneru IoC měla jednoduchý životní styl, a také můžete nastavit injekci pro MongoDatabase
a možná i MongoCollection
také.
Sám tuto strategii používám s Windsorem – můžete vidět můj MongoInstaller
zde:https://gist.github.com/2427676
- umožňuje mým třídám pokračovat a udělat toto:
public class SomeClass
{
public SomeClass(MongoCollection<Person> people)
{ ... }
}
aby byla kolekce vstříknuta, pěkná a připravená k použití.