public void Dispose(WebSocketState webSocketState) { if (Interlocked.CompareExchange(ref _stateWhenDisposing, (int)webSocketState, int.MinValue) != int.MinValue) { return; } this.CleanUp(); }