Messenger en utilisant Signalr et Blazor Server côté serveur
Nous utilisons SignalR dans notre application côté serveur Blazor et stockons tous les messages dans la base de données.
Pour envoyer un message à un utilisateur spécifique, nous utilisons ConnectionId au lieu de la propriété utilisateur, puis stockons l'ID de connexion dans notre base de données. C'est une façon de créer un messager et un statut en ligne des utilisateurs. Basé sur le lien ci-dessous: https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/mapping-users-to-connections
La meilleure approche pour votre application dépend de:
1- Le nombre de serveurs Web hébergeant votre application.
2- Si vous devez obtenir une liste des utilisateurs actuellement connectés.
3- Que vous ayez besoin de persister des informations de groupe et d'utilisateurs lorsque l'application ou le serveur redémarre.
4- Si la latence d'appeler un serveur externe est un problème.
Nous utilisons la quatrième voie et utilisons SQL Server pour stocker toutes les informations dont nous avons besoin pour notre application, par exemple, nous pouvons mentionner l'ID de connexion ou SenderUserId et RecieverUserIDID, puis nous pouvons envoyer des informations sur la connexion à l'expéditeur et à l'ID utilisateur de récepteur.