Le Post Infeeny

Les articles des consultants et experts Infeeny

Building Real-Time Web Apps with ASP.NET SignalR par Guillaume

SignalR est une librairie permettant de faire du temps réel et du push en http, avec des mécanismes de fallback pour des navigateurs anciens.

SignalR fait maintenant partie de ASP.Net, sera bientôt déployé avec ASP.Net, et est décomposé en 2 API (client + serveur)

Côté serveur ont fait une classe héritant de Hub, dans laquelle on met des méthodes qui seront accessibles cote client, sur le même modèle que MVC. Cote client, on va utiliser la librairie javascript associée, créer des méthodes et se connecter sur le hub. Le hub peut appeler les méthodes déclarées dans le client et vice versa. Un système de projection expose automatiquement les entites et methodes du serveur, dans l’API client.

On voit ça applique à une appli dans laquelle on peut déplacer un élément, et voir le résultat en temps réel sur un autre navigateur.

SignalR peut être utilisé pour des apps de monitoring, travail collaboratif, suivre la progression de traitements longs, …

On voit ensuite un jeu (shootr.signalr.net). On est invite a se connecte et a jouer tous ensembles sur nos tablettes ^_^

Des guidances seront publiées très prochainement pour approfondir les concepts.

SignalR peut utiliser websocket, a condition que le browser le support, et que le serveur et l’infra réseau le supporte. Si ce n’est pas le cas, SignalR va utiliser des messages par iframe ou du http long polling.

SignalR a plusieurs librairies clientes (javascript, .Net, iOS, etc) et d’autres sont en cours.

Le cœur de SignalR a été reecrit pour ameliorer les perfs, et peut traiter au moins 100000 messages/secondes/serveur, et supporte du scaling horizontal avec un système de service bus géré soit avec azure, soit reddis, soit sql server.

SignalR utilise maintenant des perfcounters pour faire du tracking, et dans les sources de SignalR, on trouve un outil de loadtest.

Guillaume

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :