public void Disconnected(EventHub eventHub, CancellationToken token) { if (eventHub.reconnectCount == 1) { logger.Warn($"Channel {eventHub.Channel.Name} detected disconnect on event hub {eventHub} ({eventHub.Url})"); } Task.Run(async() => { await Task.Delay(500, token).ConfigureAwait(false); try { if (eventHub.TransactionContext == null) { logger.Warn($"{ToString()} reconnect failed with no user context"); } else { await eventHub.ConnectAsync(eventHub.TransactionContext, true, token).ConfigureAwait(false); } } catch (Exception e) { logger.Warn($"Failed {ToString()} to reconnect. {e.Message}"); } }, token); }