Пример #1
0
 public void Dispose()
 {
     if (Interlocked.Exchange(ref _disposed, 1) == default(int))
     {
         _referenceResolver.Dispose();
         _clientSocket.OnOpen    -= _clientSocket_OnOpen;
         _clientSocket.OnClose   -= _clientSocket_OnClose;
         _clientSocket.OnMessage -= _clientSocket_OnMessage;
         _clientSocket.OnError   -= _clientSocket_OnError;
         _clientSocket.Close(CloseStatusCode.Normal);
     }
 }
Пример #2
0
 public void Dispose()
 {
     if (!_disposed)
     {
         _disposed = true;
         _referenceResolver.Dispose();
         _clientSocket.OnOpen    -= _clientSocket_OnOpen;
         _clientSocket.OnClose   -= _clientSocket_OnClose;
         _clientSocket.OnMessage -= _clientSocket_OnMessage;
         _clientSocket.OnError   -= _clientSocket_OnError;
         _clientSocket.Close(CloseStatusCode.Normal);
     }
 }
Пример #3
0
 protected override void OnDispose()
 {
     base.OnDispose();
     foreach (delegateKey d in _delegates.Keys)
     {
         var havingDelegate = _referenceResolver.ResolveReference(d.Item1);
         if (havingDelegate == null)
         {
             continue;
         }
         var ei = havingDelegate.GetType().GetEvent(d.Item2);
         _removeDelegate(havingDelegate, ei);
     }
     _referenceResolver.ReferencePropertyChanged -= _referenceResolver_ReferencePropertyChanged;
     _referenceResolver.ReferenceDisposed        -= _referencedObjectDisposed;
     _referenceResolver.Dispose();
 }
Пример #4
0
 protected override void OnClose(CloseEventArgs e)
 {
     foreach (delegateKey d in _delegates.Keys)
     {
         IDto havingDelegate = _referenceResolver.ResolveReference(d.Item1);
         if (havingDelegate != null)
         {
             EventInfo ei = havingDelegate.GetType().GetEvent(d.Item2);
             _removeDelegate(havingDelegate, ei);
         }
     }
     _referenceResolver.ReferencePropertyChanged -= _referenceResolver_ReferencePropertyChanged;
     _referenceResolver.ReferenceDisposed        -= _referencedObjectDisposed;
     _referenceResolver.Dispose();
     Debug.WriteLine("Server: connection closed.");
     Logger.Info("Connection closed.");
     base.OnClose(e);
 }
Пример #5
0
 protected override void OnDispose()
 {
     base.OnDispose();
     _referenceResolver.Dispose();
     _messageHandler.Set();
 }