2

IBusオブジェクトがアプリケーション全体に読み込まれ、アセンブリが参照されるという愚かな仮定を立てたと思います。

たとえば、参照されているアセンブリ内で次のことを行う場合:

public IBus Bus {get;set;}

このオブジェクトは、IHandleMessagesやIWantToBeLoadedAtStartupなどのNServiceBusクラスを実装するクラスにのみロードされると言っているのは正しいですか?

詳細についてのヘルプや説明は素晴らしいでしょう。

ありがとう

4

2 に答える 2

3

あなたが言及しているのは依存性注入です。IBusNServiceBus は、NServiceBus によって管理されるオブジェクトにのみインスタンスを注入します。

たとえば、NServiceBus はIHandleMessages、トランスポート メッセージが到着したときに実装するクラスのインスタンスを作成し、依存性注入コンテナーを使用してバス クライアントのインスタンスを注入します。

ここに示すように、依存性注入メカニズムを拡張できます。

于 2012-08-02T16:49:49.987 に答える
1

デフォルトのコンテナの代わりに別のコンテナを使用すると、NSB コンテナの抽象化によって提供されるバス IBus インスタンスが自動的にワイヤリングされます。他に登録する必要はありません。どこにでも注入できます。

于 2012-08-07T04:47:57.937 に答える