En the official documentation se afirma que MongoServer
, MongoDatabase
y MongoCollection
es seguro para subprocesos, y que se supone que debes crear una sola MongoServer
para cada base de datos que se conecta.
Por lo tanto, MongoServer
, MongoDatabase
y MongoCollection
se pueden configurar de manera segura para que sean únicos. MongoServer
incluso ayudará a aplicar esto devolviendo la misma instancia MongoDatabase
para llamadas sucesivas, y MongoDatabase
hará lo mismo para MongoCollection
s.
I.e. su instancia MongoServer
se puede configurar de manera segura para tener un estilo de vida singleton en su contenedor IoC, y también podría configurar la inyección para MongoDatabase
y tal vez incluso MongoCollection
.
estoy usando esta estrategia con Windsor a mí mismo - se puede ver mi MongoInstaller
aquí: https://gist.github.com/2427676 - que permite a mis clases sólo seguir adelante y hacer esto:
public class SomeClass
{
public SomeClass(MongoCollection<Person> people)
{ ... }
}
con el fin de tener una colección inyectado, agradable y listo para usar.
Gracias por compartir el WindsorInstaller. El código es algo viejo ahora y me preguntaba si tienes una versión actualizada para el nuevo mongodriver 2.0. Traté de actualizarlo yo mismo, pero no estoy seguro de si hay una mejor manera? ' https://gist.github.com/kri5t/afcba8068badb62f5c9b –