/// <summary> /// /// </summary> /// <param name="instance"></param> /// <param name="method"></param> /// <param name="thread"></param> public void AddSubscription(object instance, MethodInfo method, DeliveryThread thread) { lock (_subscriptions) { var entry = new TransportCacheEntry(TransportProvider.GetTransport(method, thread), new WeakReference(instance)); _subscriptions.Add(entry); } }
/// <summary> /// /// </summary> /// <param name="instance"></param> /// <param name="method"></param> public void AddSubscription( object instance, MethodInfo method ) { var transportCacheEntry = new TransportCacheEntry( TransportProvider.GetTransport( method ), new WeakReference( instance ) ); _subscriptions.Add( transportCacheEntry ); }
/// <summary> /// /// </summary> /// <param name="instance"></param> /// <param name="method"></param> /// <param name="thread"></param> public void AddSubscription( object instance, MethodInfo method, DeliveryThread thread ) { lock (_subscriptions) { var entry = new TransportCacheEntry(TransportProvider.GetTransport(method, thread), new WeakReference(instance)); _subscriptions.Add(entry); } }
/// <summary> /// /// </summary> /// <param name="instance"></param> /// <param name="method"></param> public void AddSubscription( object instance, MethodInfo method ) { if (_subscriptions.Any(s => s.Target.Target.Equals(instance))) return; var transportCacheEntry = new TransportCacheEntry( TransportProvider.GetTransport( method ), new WeakReference( instance ) ); _subscriptions.Add( transportCacheEntry ); }