Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Semaine 9

Cette semaine nous allons rendre notre application temps réel grâce à SignalR. Cela permettra d’ajouter un chat global pour que les utilisateurs puissent communiquer entre eux.

Lien du front : http://csharp.nouvet.fr/front9/

SignalR

SignalR est une bibliothèque ASP.NET Core qui simplifie l’ajout de fonctionnalités web en temps réel aux applications.

Configuration

  1. Ajoutez le service SignalR dans votre Program.cs.
  2. Mappez le Hub SignalR sur la route /hub/chat.

ChatHub

Vous devrez créer une classe ChatHub qui hérite de Hub.

Ce hub devra permettre :

  • Aux clients d’envoyer un message (SendMessage) qui sera relayé à tous les autres clients.
  • De recevoir le nom de l’utilisateur et le contenu du message.

Messages Système

Le chat ne sert pas uniquement aux utilisateurs, le serveur doit aussi pouvoir y poster des informations.

Reset

Lorsqu’un utilisateur effectue un Reset de sa progression (endpoint existant), le serveur doit envoyer un message automatique dans le chat.

Le message doit être de la forme : SYSTEM: {UserName} a reset son score de {Score} points !

Pour cela, vous devrez injecter IHubContext<ChatHub> dans votre contrôleur ou service qui gère le reset.

CORS pour SignalR

Pour utiliser SignalR, vous devez autoriser les credentials dans la politique CORS. Reférencez-vous au chapitre SignalR CORS pour plus de détails.