您好我在我的项目中使用NServiceBus 1.9 RTM。
我正在使用Publisher - Distributor - Subscriber模型。
在订阅者中,我使用以下代码订阅
var bus = NServiceBus.Configure.With()
.SpringBuilder()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(false)
.PurgeOnStartup(false)
.UnicastBus()
.ImpersonateSender(false)
.DoNotAutoSubscribe()
.LoadMessageHandlers()
.CreateBus()
.Start();
bus.Subscribe<ITestMessage>();
_isSubscribed = true;
log.Info(" ITestMessage Subscribed successfully..");
_serviceBus = bus;
当我想要取消订阅时,我正在做
_serviceBus.Unsubscribe<ITestMessage>();
但它不是取消订阅也不是抛出任何错误。在取消编写后,EventHandler仍然会收到来自经销商的消息。
有什么我想念的吗?任何人都可以帮助我。
NRK
答案 0 :(得分:1)
您需要了解取消订阅不是针对分销商而是针对发布商的。现在,可能是您没有在MessageEndpointMappings中为ITestMessage的发布者配置正确的端点,这就是取消订阅无效的原因。订阅可能也不起作用,但是您已经正确配置了分发服务器,而其他人已经告诉发布者订阅了ITestMessage的分销商这一事实,这可能是隐藏的。
希望有所帮助。