Messenger mit SignalR und Blazor Server -Seite
Wir verwenden SignalR in unserer Blazor -Server -Seitenanwendung und speichern alle Nachrichten in der Datenbank.
Um eine Nachricht an einen bestimmten Benutzer zu senden, verwenden wir ConnectionID anstelle der Benutzereigenschaft und speichern Sie die Verbindungs -ID in unserer Datenbank. Dies ist eine Möglichkeit, einen Messenger- und Online -Status von Benutzern zu erstellen. Basierend auf dem folgenden Link: https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-the-the-api/mapping-users-to-connections
Der beste Ansatz für Ihre Anwendung hängt von:
1- Die Anzahl der Webserver, auf denen Ihre Anwendung gehostet wird.
2- Egal, ob Sie eine Liste der aktuell verbundenen Benutzer erhalten müssen.
3- Unabhängig davon, ob Sie Gruppen- und Benutzerinformationen bestehen müssen, wenn die Anwendung oder der Server neu gestartet werden.
4- Ob die Latenz des Aufrufens eines externen Servers ein Problem ist.
Wir verwenden den vierten Weg und verwenden SQL Server, um alle Informationen zu speichern, die wir für unsere Anwendung benötigen. Zum Beispiel können wir die Verbindungs -ID oder SenderuSerID und RecieveruserID erwähnen und dann können wir Informationen zur Verbindung an Sender- und Reciever -Benutzer -ID senden.