#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
.