private void DisconnectConnection(IAsyncResult ar) { IConnection connection = ar.AsyncState as IConnection; if (connection == null) return; connection.Connected = false; lock (_connectionLock) { _connections.Remove(connection.Id); } }