1

MongoDatabase のインスタンスを挿入しようとしていますが、これを行う良い方法がわかりません。

別のオブジェクトでラップしようとすることもできますが、MongoDatabase オブジェクトに直接アクセスしたいので、無駄な抽象化のように思えます。

でオブジェクトを作成し、それを城のウィンザーに渡し、解決時にそのオブジェクトを使用するように指示できることを望んでいました。

のようなものを望んでいた

var client = new MongoClient("mongodb://localhost");
var server = client.GetServer();
var database = server.GetDatabase("test");

次に、Windsor Castle に似たデータベース オブジェクトを登録できることを期待していました。

container.Register(Component.For(typeOf(MongoDatabase)).UseTheCreatedObject(database));

MongoDatabaseオブジェクトのセットアップを取得するために、これまたは別の方法を実行することは可能ですか?

その答えは、Krzysztof Koźmic が提案したものでした。私は当初、次のようなことをしていました

Component.For(typeOf(MongoDatabase)).ImplementedBy<MongoDatabase>().Instance(database);

これが引き起こしたのは、MongoDatabase が既に登録されているか実装されているというエラーでした (覚えていません)。したがって、私がしなければならなかったのは、ImplementedBy を削除することだけでした。

4

1 に答える 1