.net N Service Bus 4在生产时取消订阅事件

.net N Service Bus 4在生产时取消订阅事件,.net,nservicebus,.net,Nservicebus,我开始使用NServiceBus4,需要取消订阅一个活动,以作为生产的终点。在生产中,用于使用订阅程序集扫描和配置文件 所以问题是如何取消订阅?在生产中有没有一种简单的方法可以做到这一点 我们认为删除您订阅事件的行,并希望NServiceBus自行更新它。但是,删除后情况并非如此,订阅仍然存在于SQL persistence中。有官方文档可以取消订阅版本6和版本7,但不是版本4 答案,而不是删除订阅事件的行,并希望NServiceBus自行更新。你要做的是: 钩住服务总线的启动或停止,并有一些

我开始使用NServiceBus4,需要取消订阅一个活动,以作为生产的终点。在生产中,用于使用订阅程序集扫描和配置文件

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


我们认为删除您订阅事件的行,并希望NServiceBus自行更新它。但是,删除后情况并非如此,订阅仍然存在于SQL persistence中。有官方文档可以取消订阅版本6和版本7,但不是版本4

答案,而不是删除订阅事件的行,并希望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()
        {
        }
    }
    
    公共类启动:iwanttorunhenbus启动和停止
    {
    专用只读IBus总线;
    公共启动(IBus总线)
    {
    这辆公共汽车=公共汽车;
    }
    公开作废开始()
    {
    this.bus.Unsubscribe();
    }
    公共停车场()
    {
    }
    }