ASP.NET SignalR


 Fachbücher zum Thema ASP.NET SignalR

Die Implementierung von Benachrichtigungsszenarien ist im Web-Umfeld nur über Umwege realisierbar. Das Framework SignalR unterstützt hierbei, indem es mehrere Implementierungen hierfür anbietet. Der Entwickler muss sich somit nicht mit der Erstellung von Infrastrukturcode belasten.

Installation: Nuget (Install-Package Microsoft.AspNet.SignalR -pre)
Quelle: http://signalr.net/
Lizenz: Apache 2.0 License

Zweck von ASP.NET SignalR - Autor: FH-Prof. Manfred Steyer

Während das Web auf einer Kommunikation nach dem Prinzip Anfrage/Antwort basiert, bietet es für Benachrichtigungsszenarien keine ideale Ausgangsbasis. Der Grund dafür liegt an der Funktionsweise von Firewalls: Sie blocken aus Sicherheitsgründen Anfragen, die von außen initiiert werden. Nachrichten, die von den dahinter liegenden Clients versendet werden, sowie Antworten darauf werden hingegen zugelassen (siehe nachfolgende Abbildung).

Um diese Einschränkung zu umschiffen, setzen Webentwickler seit Jahren auf Verfahren, wie Long-Polling. Dabei kontaktiert der Client den Server immer wieder, um herauszufinden, ob eine Benachrichtigung vorliegt. Daneben ermöglicht der aufkommende Standard Websockets eine bidirektionale Kommunikation ohne Umwege, indem sich Client und Server darauf einigen, eine Verbindung, die vom Client unter Verwendung von HTTP und somit "Firewall-freundlich" initiiert wurde, fortan als TCP-Verbindung zu nutzen.

Da Web-Sockets nur dann eingesetzt werden können, wenn sowohl der Webserver als auch der Browser mitspielen, ist der Entwickler angehalten, neben einer Unterstützung für Web-Sockets auch eine Unterstützung für Long-Polling bereitzustellen. Dies lässt sich mit Web-Technologien zwar bewerkstelligen, ist jedoch mit viel Infrastrukturcode verbunden. Genau hier kommt ASP.NET SignalR ins Spiel, indem es zum einen sowohl Websockets als auch verschiedene Long-Polling-Verfahren unterstützt und zum anderen anhand der Fähigkeiten von Client und Server selbstständig eine dieser Möglichkeiten wählt. Falls möglich, kommen Websockets zum Einsatz; ansonsten eine Long-Polling-Implementierung.

Als E-Mail versenden
Bookmarken bei del.icio.us
Bookmarken bei Digg
Reddit
Bookmarken bei Live