sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cuál es la forma correcta de administrar las conexiones MongoDB en ASP.Net MVC?

En la documentación oficial se afirma que MongoServer , MongoDatabase y MongoCollection son seguros para subprocesos, y se supone que debe crear un solo MongoServer para cada base de datos a la que se conecte.

Por lo tanto, MongoServer , MongoDatabase y MongoCollection se puede configurar de forma segura para ser singletons. MongoServer incluso ayudará a hacer cumplir esto devolviendo el mismo MongoDatabase instancia para llamadas sucesivas, y MongoDatabase hará lo mismo para MongoCollection s.

Es decir. su MongoServer la instancia se puede configurar de manera segura para tener un estilo de vida singleton en su contenedor IoC, y también puede configurar la inyección para MongoDatabase y tal vez incluso MongoCollection también.

Yo mismo estoy usando esta estrategia con Windsor:puedes ver mi MongoInstaller aquí:https://gist.github.com/2427676 - permite que mis clases sigan adelante y hagan esto:

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

para tener una colección inyectada, bonita y lista para usar.