В официалната документация
се посочва, че 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)
{ ... }
}
за да имате инжектирана колекция, хубава и готова за използване.