Абонент nservicebus не может отключить абонента - PullRequest
0 голосов
/ 06 июля 2010

Привет
Я использую 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

1 Ответ

1 голос
/ 07 июля 2010

Вы должны понимать, что отказ от подписки - это не то, что вы делаете против распространителя, а скорее против издателя. Теперь может случиться так, что вы не настроили правильную конечную точку для издателя вашего ITestMessage в своих MessageEndpointMappings, и поэтому отписка не работает. Вероятно, подписка также не работает, но это скрыто тем фактом, что вы правильно настроили своего распространителя, и кто-то еще сказал издателю подписать распространителя на ITestMessage.

Надеюсь, это поможет.

...