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í.