Ejemplo n.º 1
0
        public Task DisposeAsync()
        {
            if (disposed)
            {
                return(new CompletedTask());
            }
            disposed = true;

            disposedToken.Cancel();
            onDispose();

            return(webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Closed by the client", CancellationToken.None)
                   .ContinueWith(_ =>
            {
                try
                {
                    webSocket?.Dispose();
                }
                catch (Exception e)
                {
                    logger.ErrorException("Got error from server connection for " + url + " on id " + id, e);
                }
            }));
        }