In de officiële documentatie
er staat dat MongoServer , MongoDatabase , en MongoCollection thread-safe zijn en dat u één enkele MongoServer . moet maken voor elke database waarmee u verbinding maakt.
Dus MongoServer , MongoDatabase , en MongoCollection kan veilig worden geconfigureerd als singletons. MongoServer zal zelfs helpen dit af te dwingen door dezelfde MongoDatabase . terug te sturen instantie voor opeenvolgende aanroepen, en MongoDatabase zal hetzelfde doen voor MongoCollection v.
D.w.z. uw MongoServer instantie kan veilig worden geconfigureerd om een singleton-levensstijl in uw IoC-container te hebben, en u kunt net zo goed injectie instellen voor MongoDatabase en misschien zelfs MongoCollection ook.
Ik gebruik deze strategie zelf met Windsor - je kunt mijn MongoInstaller zien hier:https://gist.github.com/2427676
- hierdoor kunnen mijn lessen gewoon doorgaan en dit doen:
public class SomeClass
{
public SomeClass(MongoCollection<Person> people)
{ ... }
}
om een collectie te laten injecteren, mooi en klaar voor gebruik.