public override Task OnDisconnected(bool stopCalled) { string key = Context.QueryString["Key"]; string connectionId = Context.ConnectionId; if (string.IsNullOrEmpty(key)) { return(base.OnDisconnected(stopCalled)); } ConnectionMap.Remove(key, connectionId); BroadcastConnectionMap(); return(base.OnDisconnected(stopCalled)); }