【问题标题】:nservicebus subscriber unable to unsbuscribernservicebus 订阅者无法取消订阅者
【发布时间】:2010-07-06 15:02:43
【问题描述】:


我在我的项目中使用 NServiceBus 1.9 RTM。
我正在使用发布者 - 分发者 - 订阅者模型。
在订阅者中,我使用以下代码订阅了

 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

【问题讨论】:

    标签: nservicebus nservicebus-distributor


    【解决方案1】:

    您需要了解,退订不是针对发行商的行为,而是针对发布商的行为。现在,可能是您没有在 MessageEndpointMappings 中为 ITestMessage 的发布者配置正确的端点,这就是取消订阅不起作用的原因。订阅很可能也不起作用,但这被您正确配置分发者的事实所掩盖,并且其他人已告诉发布者订阅 ITestMessage 的分发者。

    希望对您有所帮助。

    【讨论】:

    • 谢谢 Udi,我明白了你的意思。但是我怎样才能阻止分发者向我的订阅者发送消息?或者我可以在一段时间内停止接收来自分销商的消息吗?订阅者作为 Windows 服务运行。 - nRk
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    相关资源
    最近更新 更多