void UnexpectedConnectionShutdown(ISession session, ShutdownEventArgs reason) { Logger.Current.Write("Connection was shut down.", TraceEventType.Information); ((ConnectionBase)_connection).m_session0.SessionShutdown -= UnexpectedConnectionShutdown; lock (_connectionLock) { if (_closed) { return; } Reconnect(TimeSpan.FromSeconds(10)); RenewSubscriptions(_subscriptions.Values); _messagePublisher.Flush(); } }