2 votes

Appeler les méthodes du hub SignalR côté serveur

J'ai suivi ce tutoriel ( https://blogs.msdn.microsoft.com/webdev/2018/02/27/asp-net-core-2-1-0-preview1-getting-started-with-signalr/ ) pour créer et faire fonctionner une application de chat basique.

Je dois maintenant mettre à jour les clients à partir du serveur. En d'autres termes, je dois pouvoir appeler les méthodes du hub côté serveur. J'ai trouvé plusieurs exemples utilisant des versions plus anciennes de SignalR / .NET, mais aucun d'entre eux ne veut jouer le jeu avec ASP.NET Core 2.1.

Quelqu'un peut-il m'aider en me donnant une indication (ou un exemple) sur la façon d'envoyer des messages à partir du serveur. Je pense que la partie spécifique qui me manque est comment obtenir une référence au hub actif à partir du code côté serveur, afin que je puisse appeler ses méthodes.

J'ai l'impression que cela devrait être simple, mais je suis probablement en train de rater quelque chose d'évident.

Merci, Nick.

3voto

aaron Points 10209

Les méthodes Hub sont destinées à être appelées par le client.

Sur le serveur, vous injectez IHubContext<ChatHub> et d'accéder à ses Clients ou Groups propriétés :

// Not hub method
public async Task Send(string message)
{
    await _chatHubContext.Clients.All.SendAsync("SendMessage", message);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X