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);
}
}