MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Quelle est la bonne façon de gérer les connexions MongoDB dans ASP.Net MVC ?

Dans la documentation officielle il est indiqué que MongoServer , MongoDatabase , et MongoCollection sont thread-safe, et que vous êtes censé créer un seul MongoServer pour chaque base de données à laquelle vous vous connectez.

Ainsi, MongoServer , MongoDatabase , et MongoCollection peuvent être configurés en toute sécurité pour être des singletons. MongoServer aidera même à faire respecter cela en retournant le même MongoDatabase instance pour les appels successifs, et MongoDatabase fera la même chose pour MongoCollection s.

C'est à dire. votre MongoServer l'instance peut être configurée en toute sécurité pour avoir un style de vie singleton dans votre conteneur IoC, et vous pouvez tout aussi bien configurer l'injection pour MongoDatabase et peut-être même MongoCollection aussi bien.

J'utilise moi-même cette stratégie avec Windsor - vous pouvez voir mon MongoInstaller ici :https://gist.github.com/2427676 - cela permet à mes cours d'aller de l'avant et de faire ceci :

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

afin d'avoir une collection injectée, belle et prête à l'emploi.