iX 6/2023
S. 114
Praxis
Softwareentwicklung

Echtzeitkommunikation mit ASP.NET Core SignalR

Über die Bibliothek ASP.NET Core SignalR können Server Pushnachrichten an Webclients schicken. Wenn möglich, werden dazu WebSockets genutzt, ansonsten dienen andere Protokolle als Fallback.

Von Dr. Holger Schwichtenberg

Microsofts Open-Source-Webframework ASP.NET Core hat sich in den TechEmpower Benchmarks 2022 in den meisten Kategorien einen Top-10-Platz erkämpft und liegt in der Gesamtwertung auf Platz 7 von 142 – weit vor Konkurrenten wie PHP, Java und Node.js (siehe ix.de/zpt1). Es ist mittlerweile ein Sammelsurium verschiedener Webarchitekturen, das von Server-side Rendering (mit Model View Controller und Razor Pages) über Webservices (mit Web-APIs im REST-Stil und gRPC) bis hin zu clientseitigen Webanwendungen (mit Blazor WebAssembly und Blazor Server) sowie hybriden Apps (mit Blazor Desktop und Blazor MAUI) reicht (Abbildung 1).

SignalR ist Teil von ASP.NET Core (Abb. 1)., Microsoft
SignalR ist Teil von ASP.NET Core (Abb. 1).
Microsoft

Client kann Nachrichten an den Server senden

Weniger bekannt ist, dass ASP.NET Core mit SignalR auch einen bidirektionalen Datenaustausch zwischen einem Webserver und Clients anbietet: Nicht nur der Client darf Daten vom Webserver abrufen, sondern der Webserver kann aktiv Pushnachrichten (Signale) an angeschlossene Clients senden, wenn neue Daten vorliegen oder Daten sich geändert haben. Clients dürfen dabei Desktop- und Webclients sein, also auch Browser in der Sandbox.

Kommentieren