Esempio n. 1
0
        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);
        }