Пример #1
0
        private void Remove(SubscriptionInformation subscription)
        {
            if (!_subscriptions.Contains(subscription.SubscriptionId))
            {
                return;
            }

            _log.Debug("SubscriptionClient Remove: " + subscription);

            lock (_subscriptions)
            {
                if (!_subscriptions.Contains(subscription.SubscriptionId))
                {
                    return;
                }

                ClientSubscriptionInformation subscriptionInformation = _subscriptions[subscription.SubscriptionId];

                try
                {
                    subscriptionInformation.Unsubscribe();
                }
                catch (Exception ex)
                {
                    _log.Error("Error removing a subscription (object may have been disposed)", ex);
                }

                _subscriptions.Remove(subscriptionInformation.SubscriptionId);
            }
        }