ASP.NET Core SignalR
Eintrag zuletzt aktualisiert am: 22.03.2023
ASP.NET Core SignalR ist die .NET Core-Variante von
ASP.NET SignalR, die es seit
.NET Core 2.0 (Jahr 2017) im modernen .NET gibt.
Die Bibliothek
ASP.NET Core SignalR (Vorgänger im klassisches
.NET Framework war:
ASP.NET SignalR) erlaubt eine bidirektionale Kommunikation zwischen einem Client (oft ein Browser, aber auch anderen Anwendungsarten wie Desktop- und Konsolenanwendungen sind möglich) und einem
Webserver. Somit kann nicht nur der Client eine Nachricht an den
Webserver senden, sondern auch der
Webserver die Clients benachrichtigen, z.B. eine kontinurliche Anzeige von Monitoring-Daten.
Abhängig von den Fähigkeiten der beteiligten Systeme werden die Nachrichten auf Basis von
Websockets, Server-Sent Events (
SSE) oder Long Polling übermittelt. Damit haben Entwickler und Benutzer nichts zu tun;
ASP.NET Core SignalR entscheidet selbst zur Laufzeit über das Verfahren. Eine manuelle Vergabe durch den Softwareentwickler ist aber möglich.
Hinweis: Microsoft spricht von "Real Time"-Kommunikation, was aber im engeren Sinne des Begriffs "Real Time" nicht korrekt ist.
"
ASP.NET Core SignalR is an open-source library that simplifies adding real-time web functionality to apps. Real-time web functionality enables server-side code to push content to clients instantly." [
https://docs.microsoft.com/de-de/aspnet/core/signalr/introduction]
ServerNuGet-Paket: Microsoft.AspNetCore.SignalR
Clients- .NET via NuGet-Paket Microsoft.AspNetCore.SignalR.Client
- Java (eingeschränkte Funktionen)
- JavaScript (eingeschränkte Funktionen)
ImplementierungWebserver: Basisklasse Hub- definiert Methoden für Nachrichten
- empfängt Nachrichten von Clients
- verteilt Nachrichten nach frei programmierbaren Kriterien an registrierte Clients
Client: Klasse HubConnectionBuilder- registriert sich für Nachrichten beim Hub
- Client sendet Nachricht an Hub