In the official documentation si precisa che MongoServer
, MongoDatabase
, e MongoCollection
sono thread-safe, e che si suppone di creare un unico MongoServer
per ogni database che si connette a.
Così, MongoServer
, MongoDatabase
e MongoCollection
possono essere configurati in modo sicuro per essere singleton. MongoServer
aiuterà anche a far rispettare ciò restituendo la stessa istanza MongoDatabase
per le chiamate successive e MongoDatabase
farà la stessa cosa per MongoCollection
s.
I.e. la tua istanza MongoServer
può essere configurata in modo sicuro per avere uno stile di vita singleton nel tuo contenitore IoC, e potresti anche impostare l'iniezione per MongoDatabase
e forse anche MongoCollection
.
sto usando questa strategia con Windsor me stesso - è possibile vedere il mio MongoInstaller
qui: https://gist.github.com/2427676 - permette mie classi di andare avanti e lo fanno:
public class SomeClass
{
public SomeClass(MongoCollection<Person> people)
{ ... }
}
al fine di avere una collezione iniettato, bello e pronto all'uso
Grazie per aver condiviso WindsorInstaller. Il codice è piuttosto vecchio ora e mi chiedevo se hai una versione aggiornata per il nuovo mongodriver 2.0? Ho provato ad aggiornarlo da solo, ma non sono sicuro che ci sia un modo migliore? ' https://gist.github.com/kri5t/afcba8068badb62f5c9b –