IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

Signalr C# (Comment ça fonctionne pour les développeurs)

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 21 avril 2026

Le web moderne prospère grâce à l'interactivité et aux retours en temps réel. Lors de la construction 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 simplifie l'ajout de fonctionnalités web en temps réel à vos applications.

Dans ce tutoriel, nous allons commencer un voyage à travers les bases et les nuances de SignalR. Plongeons dedans !

Introduction à SignalR dans ASP.NET Core

ASP.NET Core SignalR fournit une API pour créer des fonctionnalités web en temps réel en utilisant WebSockets et d'autres technologies, comme les événements envoyés par le serveur. Ce n'est pas limité à ASP.NET Core. Vous pouvez utiliser SignalR avec divers clients, comme un navigateur ou une application mobile, garantissant que les clients connectés sont mis à jour instantanément.

Configuration de votre environnement de développement

Pour commencer, vous aurez besoin de :

Construire le hub SignalR

Au cœur, SignalR tourne autour d'un hub SignalR, un point central pour que le client et le serveur interagissent.

Créez un nouveau projet ASP.NET Core. Maintenant, ajoutez une nouvelle classe et nommez-la ChatHub. Cela servira de hub SignalR.

using Microsoft.AspNetCore.SignalR;
using System.Threading.Tasks;

// Define a SignalR Hub class named ChatHub
public class ChatHub : Hub
{
    // Asynchronous method to send messages
    public async Task SendMessage(string user, string message)
    {
        // Send a message to all connected clients
        await Clients.All.SendAsync("ReceiveMessage", user, message);
    }
}

Dans la classe Startup, intégrons notre hub.

public class Startup
{
    // Configure services and add SignalR
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddSignalR(); // Add SignalR services
    }

    // Configure the app to use SignalR and map the hub
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        // Setup endpoint to route to ChatHub
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapHub<ChatHub>("/chatHub");
        });
    }
}

Implémentation côté client

SignalR est polyvalent. Alors que ce tutoriel se concentre sur ASP.NET Core et la bibliothèque cliente JavaScript, SignalR supporte divers clients, de .NET à Java.

Utilisation de la bibliothèque cliente SignalR

La bibliothèque cliente 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 cliente JavaScript SignalR :

<script src="https://cdn.jsdelivr.net/npm/@microsoft/signalr@3.1.8/dist/browser/signalr.js"></script>
HTML

Vous pouvez maintenant vous connecter au hub :

// Create a connection to the SignalR hub
const connection = new signalR.HubConnectionBuilder()
    .withUrl("/chatHub") // The hub URL
    .build();

// Start the connection
connection.start().catch(err => console.error(err.toString()));

// Setup a listener for receiving messages
connection.on("ReceiveMessage", (user, message) => {
    console.log(`${user} says: ${message}`);
});
JavaScript

Ce simple code côté client se connecte au hub et écoute tous les messages diffusés.

Fonctionnalité en temps réel en action

Envoyer des messages

En utilisant nos extraits de code côté client et côté serveur précédents, l'envoi de messages est simplifié. Le serveur et le client peuvent initier la communication.

Du côté serveur :

// Send a message from the server to all connected clients
await Clients.All.SendAsync("ReceiveMessage", "Server", "Hello from server!");

Et du côté client :

// Send a message from the client to the server
connection.send("SendMessage", "Client", "Hello from client!")
    .catch(err => console.error(err.toString()));
JavaScript

Communication avancée en temps réel

ASP.NET Core SignalR offre des fonctionnalités de communication avancées en temps réel :

  1. Regroupement des connexions : segmenter les clients connectés en groupes, en diffusant des messages à des segments spécifiques.
  2. Gestion des déconnexions : Gérer automatiquement les connexions et les déconnexions des clients.
  3. Protocole binaire : Bien que SignalR utilise par défaut un protocole textuel, il prend également en charge un protocole binaire.

SignalR avec le service Azure SignalR

Pour une fonctionnalité en temps réel évolutive, intégrez le service Azure SignalR. Ce service entièrement géré supporte un grand nombre de connexions simultanées, ce qui le rend idéal pour les applications à forte demande.

Intégrer le service Azure SignalR :

  1. Installez le SDK Azure SignalR.
  2. Utilisez Azure Service Bus pour le support du backplane.
  3. Ajustez la classe Startup pour utiliser Azure SignalR.
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        // Add Azure SignalR services
        services.AddSignalR().AddAzureSignalR();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        // Use Azure SignalR and map hub with routes
        app.UseAzureSignalR(routes =>
        {
            routes.MapHub<ChatHub>("/chatHub");
        });
    }
}

Iron Suite enrichissant SignalR avec des outils .NET Premium

Bien que ASP.NET Core SignalR fournisse une excellente base pour les fonctionnalités web en temps réel, les développeurs cherchent souvent des outils pour améliorer l'expérience et la fonctionnalité globale. C'est là qu'intervient Iron Software Suite de Bibliothèques.

Iron Suite est un ensemble de bibliothèques .NET premium, conçu pour dynamiser vos applications ASP.NET Core, y compris celles utilisant SignalR. Chaque produit de cette suite offre des capacités uniques, assurant une expérience applicative plus riche. Explorons les offres :

IronPDF

Signalr C# (Fonctionnement pour les développeurs) Figure 1

En savoir plus sur les capacités d'IronPDF vous permet de générer, modifier et lire des fichiers PDF dans vos applications .NET. Imaginez intégrer SignalR dans un scénario où une équipe collabore sur un document en temps réel. Au fur et à mesure que des modifications sont apportées, le document peut être converti en PDF à la volée, avec des mises à jour poussé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 collaboratifs.

IronPDF convertit le HTML, les URL, et les pages Web complètes en superbes PDFs semblables à l'original. Il est parfait pour sauvegarder des rapports en ligne, des factures, ou toute information basée sur le web que vous souhaitez conserver. Vous cherchez à transformer HTML en PDF ? Essayez IronPDF dès aujourd'hui !

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

IronXL

Signalr C# (Fonctionnement pour les développeurs) Figure 2

Quand il s'agit de travailler avec des tableurs Excel, Exploration des fonctionnalités d'IronXL est un champion. Dans un cadre professionnel, les tableurs jouent un rôle essentiel. Intégrer SignalR avec IronXL signifie que les équipes financières pourraient travailler sur des feuilles de budget en temps réel, en assistant aux modifications au fur et à mesure qu'elles se produisent. Imaginez un scénario où les saisies de données de divers départements convergent dans une feuille Excel centralisée, avec des mises à jour en temps réel pour toutes les parties prenantes. Le mariage de la communication en temps réel et de la gestion dynamique de feuilles de calcul devient une réalité avec cette combinaison.

IronOCR

Signalr C# (Fonctionnement pour les développeurs) Figure 3

La reconnaissance optique de caractères (OCR) est devenue un pilier des applications modernes. Voir IronOCR en action permet aux développeurs .NET d'extraire du texte à partir d'images et de documents. Associer cela avec la fonctionnalité en temps réel de SignalR peut être révolutionnaire. Considérez une plateforme où les utilisateurs téléchargent des images contenant des données textuelles. SignalR pourrait être utilisé pour notifier les utilisateurs en temps réel dès qu'IronOCR traite les images, rendant l'extraction de données interactive et instantanée.

IronBarcode

Signalr C# (Fonctionnement pour les développeurs) Figure 4

Le code-barres est essentiel dans la gestion des stocks, les systèmes de billetterie, et bien plus. Découvrez les capacités d'IronBarcode simplifie la création et la lecture de codes-barres. Maintenant, pensez à intégrer cela avec SignalR dans un système de gestion de stock. À mesure que les articles sont scannés, l'inventaire est mis à jour en temps réel, notifiant les clients connectés des niveaux de stock, et assurant une opération logistique fluide.

Conclusion

La fusion de ASP.NET Core SignalR avec les puissants outils d'Iron Suite promet une expérience élevée pour les développeurs comme pour les utilisateurs finaux. La fonctionnalité web en temps réel devient un outil transformateur qui, lorsqu'elle est associée 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 $999, offrant aux développeurs un ensemble de fonctionnalités premium. Cependant, si vous hésitez à vous engager immédiatement, chaque produit offre généreusement un essai 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 nouvelle fantastique : vous pouvez acheter l'ensemble Iron Suite pour plus de valeur au prix de seulement deux produits ! Cela vous assure non seulement d'obtenir le meilleur rapport qualité-prix, mais vous équipe également d'un ensemble d'outils complet pour révolutionner vos applications ASP.NET Core SignalR.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise