2

我相信我做了一个愚蠢的假设,即 IBus 对象将在整个应用程序中加载并且它是引用的程序集。

例如,如果我要在引用的程序集中执行以下操作:

public IBus Bus {get;set;}

我是否正确地说这个对象只会加载到实现 NServiceBus 类的类上,例如 IHandleMessages 和 IWantToBeLoadedAtStartup?

任何有关细节的帮助或澄清都会很棒。

谢谢

4

2 回答 2

3

你指的是依赖注入。NServiceBus 只会将IBus实例注入到由 NServiceBus 管理的对象中。

例如,NServiceBus 创建一个实现IHandleMessages传输消息时的类实例,并使用 Dependency Injection 容器注入总线客户端的实例。

您可以扩展依赖注入机制,如此处所示。

于 2012-08-02T16:49:49.987 回答
1

如果您使用另一个容器而不是默认容器,则该容器将自动连接总线 IBus 实例,该实例由 NSB 容器抽象提供。无需在其他地方注册。它可以在任何地方注射。

于 2012-08-07T04:47:57.937 回答