public async Task SendLastAddedMessage(ChatComment chatComment, long receiverId) { var claims = Context.User.Claims; var userId = Convert.ToInt64(claims.FirstOrDefault(x => x.Type == "userId").Value); //KULLANICILARI DOĞRULA if (!CheckUsers(chatComment.Chat, userId, receiverId)) { await Task.CompletedTask; } //HEDEF USER CONNECTION ID string targetConnectionId = SignalRUserConnections.GetConnection(receiverId); if (string.IsNullOrEmpty(targetConnectionId)) { await Task.CompletedTask; } //KULLANICILARA GÖNDER await Clients.Client(targetConnectionId).SendAsync("chatChannel", JsonSerializeExtensions.CamelCaseSerialize(chatComment)); await Clients.Caller.SendAsync("chatChannel", JsonSerializeExtensions.CamelCaseSerialize(chatComment)); }
//BİR BAĞLANTI GERÇEKLEŞTİĞİNDE TETİKLENECEK METHOD public override async Task OnConnectedAsync() { var claims = Context.User.Claims; var userId = Convert.ToInt64(claims.FirstOrDefault(x => x.Type == "userId").Value); //HER BİR CLIENT BAĞLANTI GERÇEKLEŞTİRDİĞİNDE, CONID'Yİ SİSTEME EKLE SignalRUserConnections.Add(userId, Context.ConnectionId); await base.OnConnectedAsync(); }