System.TimeoutException: истекло время ожидания при попытке подключения - PullRequest
0 голосов
/ 30 апреля 2019

SignalR с объединительной панелью, использующей Redis, работает в Azure Service Fabric.

Он был развернут на машине разработчика для контроля качества несколько дней назад, выглядел хорошо в течение двух дней, и внезапно я обнаружил следующие сообщения в журнале от многих заданий:

System.TimeoutException: Transport timed out trying to connect
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

Это было сброшено при попытке установить соединение с концентратором сигналов. Код делает несколько попыток разрешить раздел, как показано ниже:

    while (!maxTrial)
    {
        try
        {
            partition = await AddressResolver.ResolvePartition(SignalRUrl, null).ConfigureAwait(false);
            signalRAddress = AddressResolver.GetServiceAddressUri(partition);

            // Verify SignalR address.
            using (var testConnection = new HubConnection(signalRAddress))
            {
                await testConnection.Start().ConfigureAwait(false);
            }

            ....
        }
        catch (Exception ex)
        {
            TraceError(ex);
        }
    }
...