© istockphoto.com/DrAfter123
Bidirektionale Kommunikation in ASP.NET-MVC-Anwendungen

Hört ihr die Signale?


Mit diesem Artikel wird veranschaulicht, wie man in einer ASP.NET-MVC-Anwendung bidirektional, also zwischen Client und Server und vice versa, kommunizieren kann. Dazu legen wir den Fokus auf SignalR, ein Framework, das uns hilft, von der Serverseite aus den Client anzusprechen. Fortgeschrittenen Entwicklern wird eine Architektur demonstriert, die einen Verzicht auf die Hub-Schnittstelle von SignalR ermöglicht und stattdessen auf eine Web-API-Schnittstelle setzt.

Bidirektionale Webanwendungen verwenden wir immer dann, wenn die Anwendung in Echtzeit mit dem Nutzer interagiert. Das klassische Beispiel dafür ist nach wie vor eine Chatfunktion, über die unverzüglich Nachrichten gesendet und empfangen werden können, ohne dass der Browser einen Refresh benötigt. Natürlich ist das Spektrum von Real-Time-Anwendungen nicht auf eine Chatfunktion beschränkt. Spiele, die ohne Flash-Player im Browser laufen, die Fortschrittsanzeige einer Aktion, die serverseitig verarbeitet wird, oder das Senden von Benachrichtigungen in Echtzeit an alle Nutzer sind Beispiele für eine bidirektionale Anwendung.

In der gegenwärtigen Zeit ist die Usability einer Anwendung ein signifikanter Faktor für den Erfolg und die Akzeptanz der Anwendung bei Nutzern. Ein essenzielles Fragment stellt hierbei die Interaktion unserer Anwendung mit dem User dar. Wichtig ist zu verstehen, dass potenzielle Nutzer unserer Anwendung bereits moderne Plattformen wie Google+, Facebook, Twitter oder auch Dropbox kennen. All diese Anwendungen ermöglichen unmittelbar nach dem Ausführen einer Aktion – beispielsweise dem Posten einer Nachricht – dass alle Beteiligten in Echtzeit diese Nachricht empfangen. Wenn die Akzeptanz unserer Businessanwendung innerhalb unseres Intranets maximiert werden soll, muss die vertraute Atmosphäre in unseren Anwendungen gleichermaßen implementiert sein.

Bedeutung von Echtzeit in Webanwendungen

Im Umfeld von bidirektionalen Webanwendungen ist die permanente Begegnung mit den Begriffen „Real Time“ oder „Echtzeit“ unumgänglich. Um zu verstehen, wodurch das begründet ist, muss ein detaillierter Blick auf das HTTP-Protokoll geworfen werden. Bei diesem handelt es sich um ein stateless, zu Deutsch zustandsloses, Protokoll, das Webseiten bzw. Webanwendungen aus dem Web in unseren Webbrowser lädt. Stateless bedeutet so viel wie: „Jede Anfrage-Antwort-Kommunikation (Request-Response) wird isoliert und unabhängig ausgeführt“. Implizit, bezogen auf unsere ASP.NET-MVC-Anwendung, hat das zur Bede...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang