CodeSharp.EventSourcing.InMemorySubscriptionStore.ClearAddressSubscriptions C# (CSharp) Méthode

ClearAddressSubscriptions() public méthode

public ClearAddressSubscriptions ( Address address ) : void
address Address
Résultat void
        public void ClearAddressSubscriptions(Address address)
        {
            foreach (var messageType in _subscriptionDictionary.Keys)
            {
                var addressArray = new Address[_subscriptionDictionary[messageType].Count];
                _subscriptionDictionary[messageType].CopyTo(addressArray);
                foreach (var subscriberAddress in addressArray)
                {
                    if (subscriberAddress == address)
                    {
                        _subscriptionDictionary[messageType].Remove(subscriberAddress);
                    }
                }
            }
        }

Usage Example

Exemple #1
0
 public void ClearAddressSubscriptions(Address address)
 {
     using (var connection = _connectionFactory.OpenConnection())
     {
         var subscriberAddress = address.ToString();
         var table             = Configuration.Instance.GetSetting <string>("subscriptionTable");
         connection.Delete(new { SubscriberAddress = subscriberAddress }, table);
         _memoryStore.ClearAddressSubscriptions(address);
         _logger.DebugFormat("Cleaned up subscriptions of subscriber address '{0}'", subscriberAddress);
     }
 }