我对发布/订阅的概念没有任何问题,但我无法理解(自动)配置。
[F1] =(M1)=> [B1] =(M2)=> [F1 & F2]
F1和F2如何订阅B1发布/广播的通知消息M2?
我无法在示例中的 .config 文件或代码中找到实际配置,也无法在 NServiceBus 网络广播中找到有关此的文档。
有IBus.Subscribe<T>但我看不到如何订阅某个实例。我希望我需要提供一个队列,将订阅消息发送到该队列,以便我返回可以接收发布/公告。
简而言之,B1 发布了 M2。
当您不自动订阅时,您必须在代码中显式地订阅自己。首先在 EndpointConfig 类上指定 IWantCustomInitialization 接口。然后你告诉 NSB 不要自动订阅:
NServiceBus.Configure.With()
.DefaultBuilder()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(true)
.UnicastBus()
.DoNotAutoSubscribe()
.LoadMessageHandlers();
Run Code Online (Sandbox Code Playgroud)
然后在您的订阅者端点中,实现 IWantToRunAtStartup 接口。您可以在那里订阅特定消息,例如:
#region IWantToRunAtStartup Members
public void Run()
{
this.Bus.Subscribe<IProductUpdatedEvent>();
this.Bus.Subscribe<IProductCreatedEvent>();
}
public void Stop()
{
this.Bus.Unsubscribe<IProductUpdatedEvent>();
this.Bus.Unsubscribe<IProductCreatedEvent>();
}
#endregion
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2117 次 |
| 最近记录: |