void Dispose(bool disposing) { if (_disposed) { return; } if (disposing) { if (_channelConnection != null) { _log.DebugFormat("[Topshelf] Closing coordinator channel"); _channelConnection.Dispose(); _channelConnection = null; } if (_updated != null && _updated.Implements <IDisposable>()) { var disp = (IDisposable)_updated; disp.Dispose(); } _channel = null; } _disposed = true; }