公式ドキュメント
MongoServer
、MongoDatabase
、およびMongoCollection
スレッドセーフであり、単一のMongoServer
を作成することになっています。 接続するデータベースごとに。
したがって、MongoServer
、MongoDatabase
、およびMongoCollection
シングルトンになるように安全に構成できます。 MongoServer
同じMongoDatabase
を返すことで、これを強制するのにも役立ちます 連続する呼び出しのインスタンス、およびMongoDatabase
MongoCollection
に対しても同じことを行います s。
つまりMongoServer
インスタンスは、IoCコンテナでシングルトンライフスタイルを持つように安全に構成できます。また、MongoDatabase
のインジェクションを設定することもできます。 そして多分MongoCollection
同じように。
私はWindsorでこの戦略を使用しています-私のMongoInstaller
を見ることができます ここ: https://gist.github.com/2427676
-それは私のクラスが先に進んでこれを行うことを可能にします:
public class SomeClass
{
public SomeClass(MongoCollection<Person> people)
{ ... }
}
コレクションを注入し、素晴らしく、すぐに使用できるようにするためです。