//public void SendMessageToAll(string userName, string message) //{ // // store last 100 messages in cache // AddMessageinCache(userName, message); // // Broad cast message // Clients.All.messageReceived(userName, message); ////} //public void SendPrivateMessage(string toUserId, string message) //{ // string fromUserId = Context.ConnectionId; // var toUser = ConnectedUsers.FirstOrDefault(x => x.ConnectionId == toUserId); // var fromUser = ConnectedUsers.FirstOrDefault(x => x.ConnectionId == fromUserId); // if (toUser != null && fromUser != null) // { // // send to // Clients.Client(toUserId).sendPrivateMessage(fromUserId, fromUser.UserName, message); // // send to caller user // Clients.Caller.sendPrivateMessage(toUserId, fromUser.UserName, message); // } //} public override Task OnDisconnected() { string connectionid = Context.ConnectionId; var item = ConnectedUsers.FirstOrDefault(x => x.ConnectionId == connectionid); if (item != null) { ConnectedUsers.Remove(item); if (Gruplar.GrupListesi.Count != 0) { Gruplar.GrupdanUyeDusur(item, connectionid); } //var id = Context.ConnectionId; //Clients.All.onUserDisconnected(id, item.UserName); } return(base.OnDisconnected()); }