Неизвестная ошибка служебной шины (0xffffffff) при отправке сообщения - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть API службы приложений Azure, который подключается к очереди служебной шины.Некоторое время все работало идеально, но потом я начал получать такие ошибки:

System.AggregateException: One or more errors occurred. (Unknown error (0xffffffff) ErrorCode: SocketError) ---> Microsoft.Azure.ServiceBus.ServiceBusCommunicationException: Unknown error (0xffffffff) ErrorCode: SocketError ---> System.Net.Sockets.SocketException: Unknown error (0xffffffff)
   at Microsoft.Azure.ServiceBus.ServiceBusConnection.CreateConnectionAsync(TimeSpan timeout)
   at Microsoft.Azure.Amqp.FaultTolerantAmqpObject`1.OnCreateAsync(TimeSpan timeout)
   at Microsoft.Azure.Amqp.Singleton`1.GetOrCreateAsync(TimeSpan timeout)
   at Microsoft.Azure.Amqp.Singleton`1.GetOrCreateAsync(TimeSpan timeout)
   at Microsoft.Azure.ServiceBus.Amqp.AmqpLinkCreator.CreateAndOpenAmqpLinkAsync()
   at Microsoft.Azure.ServiceBus.Core.MessageSender.CreateLinkAsync(TimeSpan timeout)
   at Microsoft.Azure.Amqp.FaultTolerantAmqpObject`1.OnCreateAsync(TimeSpan timeout)
   at Microsoft.Azure.Amqp.Singleton`1.GetOrCreateAsync(TimeSpan timeout)
   at Microsoft.Azure.Amqp.Singleton`1.GetOrCreateAsync(TimeSpan timeout)
   at Microsoft.Azure.ServiceBus.Core.MessageSender.OnSendAsync(IList`1 messageList)
   --- End of inner exception stack trace ---
   at Microsoft.Azure.ServiceBus.Core.MessageSender.OnSendAsync(IList`1 messageList)
   at Microsoft.Azure.ServiceBus.RetryPolicy.RunOperation(Func`1 operation, TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.RetryPolicy.RunOperation(Func`1 operation, TimeSpan operationTimeout)
   at Microsoft.Azure.ServiceBus.Core.MessageSender.SendAsync(IList`1 messageList)
    public async Task SendAsync(string message)
    {
        var queueMessage = new Message(Encoding.ASCII.GetBytes(message));
        var queueClient = GetQueueClient("myqueue");
        await queueClient.SendAsync(queueMessage);
    }

    public IQueueClient CreateQueueClient(string queueName)
    {
        var messageBusSection = _configuration
            .GetSection("AppSettings:MessageBus");
        var connectionString = messageBusSection["ConnectionString"];
        var path = messageBusSection.GetSection("Queues")[queueName];
        return new QueueClient(connectionString, path);
    }

Я предполагаю, что это не проблема превышения квоты, и также не говорится о тайм-ауте.Любая идея о том, как я мог бы отладить это?

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Я только вчера начал получать много таких:

Microsoft.ServiceBus: неизвестная ошибка (0xffffffff)

И

Не удалось подключиться к net.tcp: //some-namespace.servicebus.windows.net: 9354 /. Попытка подключения длилась в течение 00:00:00. Код ошибки TCP -1: неизвестная ошибка (0xffffffff).

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

Хорошо работали в течение нескольких месяцев, а потом, черт возьми ... Думаю, Microsoft снова что-то сделала. Их панель состояния Azure все зеленая, но у меня 60% отказов в работе.

0 голосов
/ 22 апреля 2019

Примечание: это не обязательно решит вашу проблему (так как ошибка не очень наглядна).

Одной из лучших практик использования обмена сообщениями ASB является повторное использование фабрик и клиентов :

Рекомендуется не закрывать фабрики или очередь сообщений,тема и клиенты подписки после отправки сообщения, а затем воссоздания их при отправке следующего сообщения.

Возможно, вы просто столкнулись с каким-то регулированием соединения, которое может бытьрешается путем повторного использования QueueClient вместо повторного создания его при каждом отправлении сообщения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...