Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Le web moderne se nourrit d'interactivité et de retour d'information en temps réel. Lors de la création d'applications réactives, la fonctionnalité web en temps réel est indispensable. C'est là que SignalR brille. ASP.NET Core SignalR est une bibliothèque qui rend l'ajout de fonctionnalités web en temps réel à vos applications plus simple qu'il n'y paraît.
Dans ce tutoriel, nous allons nous lancer dans un voyage à travers les bases et les nuances de SignalR. Plongeons dans le vif du sujet!
ASP.NET Core SignalR fournit une API permettant de créer des fonctionnalités web en temps réel à l'aide de WebSockets et d'autres technologies, comme les événements envoyés par le serveur. Elle n'est pas seulement limitée à ASP.NET Core. Vous pouvez utiliser SignalR avec différents clients, comme un navigateur ou une application mobile, ce qui garantit que les clients connectés sont mis à jour instantanément.
Pour commencer, vous aurez besoin de
SignalR s'articule autour d'un hub SignalR, point central d'interaction entre le client et le serveur.
Créez un nouveau projet ASP.NET Core. Maintenant, ajoutez une nouvelle classe et nommez-la ChatHub. Il s'agira de notre centre SignalR.
using Microsoft.AspNetCore.SignalR;
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
}
using Microsoft.AspNetCore.SignalR;
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
}
Imports Microsoft.AspNetCore.SignalR
Public Class ChatHub
Inherits Hub
Public Async Function SendMessage(ByVal user As String, ByVal message As String) As Task
Await Clients.All.SendAsync("ReceiveMessage", user, message)
End Function
End Class
Dans la classe publique Startup, nous intégrons notre hub.
public void ConfigureServices(IServiceCollection services)
{
services.AddSignalR();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseEndpoints(endpoints =>
{
endpoints.MapHub<ChatHub>("/chatHub");
});
}
public void ConfigureServices(IServiceCollection services)
{
services.AddSignalR();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseEndpoints(endpoints =>
{
endpoints.MapHub<ChatHub>("/chatHub");
});
}
Public Sub ConfigureServices(ByVal services As IServiceCollection)
services.AddSignalR()
End Sub
Public Sub Configure(ByVal app As IApplicationBuilder, ByVal env As IWebHostEnvironment)
app.UseEndpoints(Sub(endpoints)
endpoints.MapHub(Of ChatHub)("/chatHub")
End Sub)
End Sub
SignalR est polyvalent. Bien que ce tutoriel se concentre sur ASP.NET Core et la bibliothèque client JavaScript, SignalR prend en charge différents clients, de .NET à Java.
La bibliothèque client SignalR permet à votre code côté client de se connecter et de communiquer directement avec le côté serveur. Pour notre exemple, utilisons JavaScript.
Tout d'abord, ajoutez la bibliothèque client JavaScript SignalR :
<script src="https://cdn.jsdelivr.net/npm/@microsoft/signalr@3.1.8/dist/browser/signalr.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@microsoft/signalr@3.1.8/dist/browser/signalr.js"></script>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<script src="https://cdn.jsdelivr.net/npm/@microsoft/signalr@3.1.8/dist/browser/signalr.js"></script>
Vous pouvez maintenant vous connecter au concentrateur :
const connection = new signalR.HubConnectionBuilder()
.withUrl("/chatHub")
.build();
connection.start();
connection.on("ReceiveMessage", (user, message) => {
console.log(`${user} says: ${message}`);
});
const connection = new signalR.HubConnectionBuilder()
.withUrl("/chatHub")
.build();
connection.start();
connection.on("ReceiveMessage", (user, message) => {
console.log(`${user} says: ${message}`);
});
const connection = (New signalR.HubConnectionBuilder()).withUrl("/chatHub").build()
connection.start()
connection.on("ReceiveMessage", Sub(user, message)
console.log(`${user} says:= ${message}`)
End Sub)
Ce simple code côté client se connecte au hub et écoute les messages diffusés.
En utilisant les extraits de code côté client et côté serveur que nous avons présentés précédemment, l'envoi de messages est simple. Le serveur et le client peuvent tous deux initier la communication.
Côté serveur :
await Clients.All.SendAsync("ReceiveMessage", "Server", "Hello from server!");
await Clients.All.SendAsync("ReceiveMessage", "Server", "Hello from server!");
Await Clients.All.SendAsync("ReceiveMessage", "Server", "Hello from server!")
Et du client :
connection.send("SendMessage", "Client", "Hello from client!");
connection.send("SendMessage", "Client", "Hello from client!");
connection.send("SendMessage", "Client", "Hello from client!")
ASP.NET Core SignalR offre des fonctionnalités avancées de communication en temps réel :
Regroupement des connexions : Segmenter les clients connectés en groupes et diffuser des messages à des segments spécifiques.
Gestion des déconnexions : Gérer automatiquement les connexions et déconnexions des clients.
Pour une fonctionnalité évolutive en temps réel, intégrezService Azure SignalR. Ce service entièrement géré prend en charge un grand nombre de connexions simultanées, ce qui le rend idéal pour les applications à forte demande.
Intégration du service Azure SignalR :
Installer leSDK Azure SignalR.
Utilisez Azure Service Bus pour la prise en charge du fond de panier.
public void ConfigureServices(IServiceCollection services)
{
services.AddSignalR().AddAzureSignalR();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseAzureSignalR(routes =>
{
routes.MapHub<ChatHub>("/chatHub");
});
}
public void ConfigureServices(IServiceCollection services)
{
services.AddSignalR().AddAzureSignalR();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseAzureSignalR(routes =>
{
routes.MapHub<ChatHub>("/chatHub");
});
}
Public Sub ConfigureServices(ByVal services As IServiceCollection)
services.AddSignalR().AddAzureSignalR()
End Sub
Public Sub Configure(ByVal app As IApplicationBuilder, ByVal env As IWebHostEnvironment)
app.UseAzureSignalR(Sub(routes)
routes.MapHub(Of ChatHub)("/chatHub")
End Sub)
End Sub
Si ASP.NET Core SignalR constitue une base exceptionnelle pour les fonctionnalités web en temps réel, les développeurs recherchent souvent des outils pour améliorer l'expérience et les fonctionnalités globales. C'est là queIron Software Suite of Libraries (en anglais) entre en scène.
Iron Suite est une suite de bibliothèques .NET haut de gamme, conçue pour suralimenter vos applications ASP.NET Core, notamment celles qui utilisent SignalR. Chaque produit de cette suite offre des capacités uniques, garantissant une expérience d'application plus riche. Voyons ce qu'il en est :
En savoir plus sur les capacités d'IronPDF vous permet de générer, d'éditer et de lire des fichiers PDF dans vos applications .NET. Imaginez l'intégration de SignalR dans un scénario où une équipe collabore sur un document en temps réel. Lorsque des modifications sont apportées, le document peut être converti en PDF à la volée, et les mises à jour sont envoyées à tous les clients connectés de manière transparente. La fonctionnalité en temps réel de SignalR associée aux capacités d'IronPDF pourrait révolutionner les outils de collaboration.
Lorsqu'il s'agit de travailler avec des feuilles de calcul Excel,Découvrez les fonctionnalités d'IronXL est un champion. Dans un contexte professionnel, les feuilles de calcul jouent un rôle essentiel. L'intégration de SignalR aux côtés d'IronXL signifie que les équipes financières pourraient travailler sur les feuilles de budget en temps réel, en étant témoins des changements au fur et à mesure qu'ils se produisent. Imaginez un scénario dans lequel les données saisies par les différents services sont intégrées dans une feuille Excel centralisée, avec des mises à jour en temps réel pour toutes les parties prenantes. La fusion de la communication en temps réel et de la gestion dynamique des feuilles de calcul devient une réalité grâce à cette combinaison.
Reconnaissance optique de caractères(OCR) est devenu un élément essentiel des applications modernes. Voir IronOCR en action permet aux développeurs .NET d'extraire du texte à partir d'images et de documents. L'association de ce système avec la fonctionnalité en temps réel de SignalR peut changer la donne. Prenons l'exemple d'une plateforme sur laquelle les utilisateurs téléchargent des images contenant des données textuelles. SignalR pourrait être utilisé pour avertir les utilisateurs en temps réel une fois qu'IronOCR traite les images, ce qui rendrait l'extraction des données interactive et instantanée.
Les codes-barres font partie intégrante de la gestion des stocks, des systèmes de billetterie, etc. Découvrez les capacités d'IronBarcode simplifie la création et la lecture des codes-barres. Imaginez maintenant l'intégration de ce système avec SignalR dans un système de gestion d'entrepôt. Au fur et à mesure que les articles sont scannés, l'inventaire est mis à jour en temps réel, ce qui permet d'informer les clients connectés des niveaux de stock et de garantir une opération logistique sans heurts.
La fusion d'ASP.NET Core SignalR avec les puissants outils d'Iron Suite promet une expérience élevée pour les développeurs et les utilisateurs finaux. La fonctionnalité web en temps réel n'est plus seulement une question de communication, mais un outil de transformation qui, associé aux bonnes ressources comme Iron Suite, peut redéfinir les applications interactives.
Il convient de noter la proposition de valeur offerte par Iron Suite. Chaque licence de produit commence à partir de $749, offrant aux développeurs un ensemble de fonctionnalités haut de gamme. Toutefois, si vous n'êtes pas sûr de vouloir vous engager immédiatement, chaque produit offre généreusement une garantie d'un anessai gratuit des produits Iron Software. Cela vous permet de tester les capacités avant de prendre une décision.
Et si vous envisagez d'intégrer plusieurs outils, il y a une excellente nouvelle : vous pouvezachetez l'ensemble de l'Iron Suite pour bénéficier d'une valeur ajoutée pour le prix de deux produits seulement! Cela vous permet non seulement d'en avoir pour votre argent, mais aussi de vous doter d'une boîte à outils complète pour révolutionner vos applications ASP.NET Core SignalR.
9 produits de l'API .NET pour vos documents de bureau