Что является эквивалентом ITopicClient от Microsoft.Лазурь.Служебная шина в последней версии SDK, т. е. Azure.Обмен сообщениями.Служебный автобус

#azureservicebus #azure-servicebus-topics

Вопрос:

Наше приложение использует более старый пакет SDK для служебной шины, то есть Microsoft.Лазурь.Служебный автобус. Теперь мы хотим перейти на последнюю версию SDK, то есть Azure.Обмен сообщениями.Служебный автобус.

Но я не могу найти эквивалент ITopicClient от Microsoft.Лазурь.Служебная шина в последней версии SDK, т. е. Azure.Обмен сообщениями.Служебный автобус

В принципе, я хочу заменить эту строку кода со старого SDK на последний SDK.

  private async Task<bool> PublishMessageAsync( IList<IOurApplicationTopicClient> topicClients, 
                                          string topicName)
    {
       // some code 

       ITopicClient primaryTopicClient = topicClients.First(x => 
       x.ServiceBusType.Equals(ServiceBusType.Primary)
       amp;amp; x.TopicName.Trim().Equals(topicName));

      //some code 
}
 

и интерфейс IOurApplicationТопикКлиент, как показано ниже.

 public interface IOurApplicationTopicClient: ITopicClient
{
    ServiceBusType ServiceBusType { get; set; }
    ServiceBusConnectionStringBuilder ServiceBusConnectionStringBuilder { get; set; }
}
 

Кроме того, я не уверен, есть ли какая-либо документация propere для миграции smooter.

Ответ №1:

Тип ServiceBusSender эквивалентен; он имеет возможность отправлять либо в очередь, либо в раздел, в зависимости от queueOrTopicName переданного при его создании. Отправитель создается с помощью ServiceBusClient , используя его метод CreateSender.


Та же концепция применима и к получению сообщений, где получатель ServiceBusReceiver отвечает за чтение как из очередей, так и из подписок, в зависимости от того, как они созданы. Приемник также создается с помощью ServiceBusClient , используя его метод CreateReceiver.


Вы можете найти Руководство по миграции полезным для перехода Azure.Messaging.ServiceBus из Microsoft.Azure.ServiceBus .