Первый вызов Microsoft.Azure.ServiceBus.Core.MessageSender.SendAsync истекает, последующие вызовы не - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть некоторый код, написанный для связи с сервисной шиной Azure.Отправляет сообщения в очередь.Это проект, ориентированный на .net стандарт 2.0

Когда я запускаю его из приложения терминала .net, он работает нормально.Но когда тот же код вызывается из проекта .net Framework 4.7.2, то первая попытка отправить сообщение приводит к следующему исключению через 30–90 секунд:

"The remote party closed the WebSocket connection without completing the close handshake."

Но все дальнейшие сообщения будутотправлять без проблем.

// This is using Microsoft.Azure.ServiceBus, if that makes any difference... 

MessageSender MessageSender  = new MessageSender(ConnectionString, SendQueueName;

try
{
     await MessageSender.SendAsync(new Message(Encoding.UTF8.GetBytes("Test that won't work")));
}
catch(Exception e)
{
    // Error will be caught here:
    // "The remote party closed the WebSocket connection without completing the close handshake."
}
await MessageSender.SendAsync(new Message(Encoding.UTF8.GetBytes("Test that will work")));

Кто-нибудь знает, почему первый вызов не удался?И как сделать так, чтобы это не подвело?Или быстрее провалиться?Я пытался изменить OperationTimeout и RetryPolicy, но они, похоже, не имеют никакого эффекта.

1 Ответ

0 голосов
/ 07 марта 2019

Эти первые соединения осуществляются через порт 5671/56712, который перехватывает антивирус Trend.Как только они истекают, фреймворк возвращается к использованию 443. Это прекрасно работает.

Мы попытались отключить Trend и запустить тестирование соединения, и оно почти мгновенно.

...