公式ドキュメント
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)
{ ... }
}
コレクションを注入し、素晴らしく、すぐに使用できるようにするためです。