Messenger usando o lado do servidor Signalr e Blazor
Usamos o SignalR em nosso aplicativo lateral do servidor Blazor e armazenamos todas as mensagens no banco de dados.
Para enviar uma mensagem para o usuário específico, usamos o ConnectionId em vez da propriedade do usuário e, em seguida, armazenamos o ID da conexão em nosso banco de dados. Esta é uma maneira de criar um mensageiro e status on -line dos usuários. Com base no link abaixo: https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/mapping-users-to-connections
A melhor abordagem para o seu aplicativo depende de:
1- O número de servidores da Web que hospeda seu aplicativo.
2- Se você precisa obter uma lista dos usuários atualmente conectados.
3- Se você precisa persistir informações do grupo e do usuário quando o aplicativo ou servidor reiniciar.
4- Se a latência de chamar um servidor externo é um problema.
Utilizamos a quarta maneira e usamos o SQL Server para armazenar todas as informações necessárias para o nosso aplicativo; por exemplo, podemos mencionar o ID da conexão ou o remeteruserID e o RecieverUserID e, em seguida, podemos enviar informações de conexão ao ID do usuário do remetente e do Reciever.