NServiceBus 4取消生产事件

时间:2018-11-15 09:57:36

标签: .net nservicebus

我开始使用NServiceBus 4,因此需要取消订阅生产终点的事件。在生产中,用于使用.sub订阅程序集扫描和配置文件。

所以问题是如何退订?有没有一种简单的方法可以在生产中做到这一点。

我们认为删除您预订事件的行,并希望NServiceBus对其进行自我更新。但是,删除后的情况并非如此,SQL持久性中仍然存在订阅。对于版本6和版本7,有正式的文档要取消订阅,而对于版本4则没有。

1 个答案:

答案 0 :(得分:1)

答案而不是删除预订事件的行并希望NServiceBus自行更新它。您要做的是:

  • 挂钩NServiceBus启动或停止并具有一些代码 告诉NServiceBus退订
  • 部署更改
  • 验证更改
  • 删除退订代码
  • 再次部署,以便退订代码在那里更长 这是代码示例:

    public class Startup : IWantToRunWhenBusStartsAndStops
    {
        private readonly IBus bus;
    
        public Startup(IBus bus)
        {
            this.bus = bus;
        }
    
        public void Start()
        {
           this.bus.Unsubscribe<EventToUnSubscribe>();
    
        }
    
        public void Stop()
        {
        }
    }