using Microsoft.AspNetCore.SignalR; using System.Security.Claims; using System.Threading.Tasks; public class MyHub : Hub { public override async Task OnConnectedAsync() { var userId = Context.User.FindFirstValue(ClaimTypes.NameIdentifier); await Groups.AddToGroupAsync(Context.ConnectionId, userId); await base.OnConnectedAsync(); } } //////////////////////////////////////////////////////////////////// public async Task SendMessageToUser(string userId, string message) { await Clients.Group(userId).SendAsync("ReceiveMessage", message); }