MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Qual è il modo giusto per gestire le connessioni MongoDB in ASP.Net MVC?

In la documentazione ufficiale si afferma che MongoServer , MongoDatabase e MongoCollection sono thread-safe e che dovresti creare un singolo MongoServer per ogni database a cui ti connetti.

Pertanto, MongoServer , MongoDatabase e MongoCollection può essere tranquillamente configurato per essere singleton. MongoServer aiuterà anche a farlo rispettare restituendo lo stesso MongoDatabase esempio per chiamate successive e MongoDatabase farà la stessa cosa per MongoCollection s.

Cioè. il tuo MongoServer l'istanza 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 anche.

Sto usando io stesso questa strategia con Windsor:puoi vedere il mio MongoInstaller qui:https://gist.github.com/2427676 - permette alle mie lezioni di andare avanti e fare questo:

public class SomeClass
{
    public SomeClass(MongoCollection<Person> people)
    { ... }
}

per avere una collezione iniettata, bella e pronta all'uso.