topicClient.Send timeoutception
У меня есть темаКлиент, созданный из сообщений фабрики с использованием connectionString
MessagingFactory.CreateFromConnectionString (ConnectionString)
MessagingFactory.CreateQueueClient (topicName).
В низкочастотных сетях я получаю исключение тайм-аута при отправке сообщений в тему Azure. Есть ли способ изменить свойство тайм-аута?
Я знаю, что есть способ, когда мы используем метод MessagingFactory.Create().
заранее спасибо
1 ответ
Для тех из вас, кто наткнулся здесь через гугл. У меня возникла аналогичная проблема при использовании пакета Microsoft.Azure.ServiceBus в ядре.NET. Я получил ошибку тайм-аута при попытке
await client.SendAsync(message);
В моем случае проблема заключалась в том, что моя компания блокировала порт 5671. Переход на AmqpWebSockets решил мою проблему. Поместите это после строки подключения.
;TransportType=AmqpWebSockets
Вот фрагмент кода:
MessagingFactorySettings settings = new MessagingFactorySettings {
settings.OperationTimeout = TimeSpan.FromSeconds(120)
};
MessagingFactory messagingFactory = MessagingFactory.Create(connection, settings);
и более того - если вам требуется обмен сообщениями, критичными к производительности, ServiceBus также поддерживает стандартный протокол обмена сообщениями - AMQP.
settings.TransportType = TransportType.Amqp;
Кстати, я предполагаю опечатку, но на всякий случай - в вашем фрагменте кода используйте: CreateTopicClient (не createQueueClient)
Надеюсь, поможет! Sree