public void Dispose() { if (this.disposing) { return; } this.disposing = true; Utils.SafeExecute(() => this.callbackTimer?.Dispose()); Utils.SafeExecute(() => { if (typeMapRefreshTimer != null) { typeMapRefreshTimer.Dispose(); typeMapRefreshTimer = null; } }); if (listeningCts != null) { Utils.SafeExecute(() => listeningCts.Dispose()); listeningCts = null; } Utils.SafeExecute(() => transport?.Dispose()); if (ClientStatistics != null) { Utils.SafeExecute(() => ClientStatistics.Dispose()); ClientStatistics = null; } Utils.SafeExecute(() => (this.ServiceProvider as IDisposable)?.Dispose()); this.ServiceProvider = null; GC.SuppressFinalize(this); }
public void Dispose() { if (this.disposing) { return; } this.disposing = true; Utils.SafeExecute(() => this.callbackTimer?.Dispose()); Utils.SafeExecute(() => { if (typeMapRefreshTimer != null) { typeMapRefreshTimer.Dispose(); typeMapRefreshTimer = null; } }); Utils.SafeExecute(() => transport?.Dispose()); if (ClientStatistics != null) { Utils.SafeExecute(() => ClientStatistics.Dispose()); } Utils.SafeExecute(() => (this.ServiceProvider as IDisposable)?.Dispose()); Utils.SafeExecute(() => this.ClusterConnectionLost = null); Utils.SafeExecute(() => this.GatewayCountChanged = null); Utils.SafeExecute(() => this.ClientInvokeCallback = null); this.ServiceProvider = null; GC.SuppressFinalize(this); }