IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

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

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 19 juillet 2026

MediatR est une bibliothèque .NET populaire qui implémente le modèle médiateur, permettant aux objets de communiquer les uns avec les autres à travers un médiateur, plutôt que directement. Cette approche est particulièrement utile dans les applications où il est souhaitable de maintenir un faible niveau de couplage entre les composants. Dans cet article, nous allons examiner en détail MediatR dans le contexte du développement C#, en fournissant des exemples pratiques et des conseils sur la façon de l'intégrer dans vos projets d'applications web. Nous explorerons également la bibliothèque IronPDF pour les fonctionnalités PDF dans les applications .NET pour l'intégration des fonctionnalités PDF dans les projets ASP.NET Core.

Introduction au modèle médiateur et à MediatR

Mediatr C# (Comment cela fonctionne pour les développeurs) : Figure 1 - MediatR et le modèle de médiateur

Le modèle médiateur est un modèle de conception logicielle qui facilite l'interaction entre les objets d'une manière qui réduit les dépendances directes entre eux, favorisant un couplage lâche. MediatR fournit une implémentation de médiateur sans prétention, focalisée sur la simplicité et l'efficacité en facilitant la communication entre objets.

Au cœur de la bibliothèque MediatR se trouve le concept de requêtes et de multiples gestionnaires. Au point de requête, un objet encapsule les détails de l'opération ou de l'action, en attente de traitement par le mécanisme MediatR. Chaque requête est traitée par un gestionnaire ou une méthode de gestion correspondante, qui contient la logique métier pour exécuter la requête. Cette structure est particulièrement utile pour implémenter le modèle de séparation des responsabilités entre commande et requête (CQRS), où la séparation des opérations de lecture et d'écriture peut conduire à des architectures logicielles plus maintenables et évolutives.

Installer MediatR dans un projet .NET Core en utilisant la console de gestion des packages

Pour commencer à utiliser MediatR dans un projet ASP.NET Core, vous devez d'abord installer le package MediatR. Cela peut être effectué via la console de gestion des packages dans Visual Studio avec la commande suivante :

PM > Install-Package MediatR

Mediatr C# (Comment cela fonctionne pour les développeurs) : Figure 2 - Installer MediatR

Après avoir installé le package, il est nécessaire d'ajouter MediatR au conteneur d'injection de dépendances ASP.NET Core. Cela se fait généralement dans le fichier Program.cs ou Startup.cs de votre projet d'application web, en fonction de la version d'ASP.NET Core que vous utilisez. Voici comment vous pouvez le faire dans un programme avec une couche de présentation API minimale.

// Initialize a new web application
var builder = WebApplication.CreateBuilder(args);

// Add MediatR to the service container
builder.Services.AddMediatR(typeof(Program).Assembly);

// Build the web application
var app = builder.Build();

Dans la classe de programme, var builder = WebApplication.CreateBuilder(args); initialise l'application web, préparant le terrain pour l'intégration de MediatR.

Créer votre première requête et gestionnaire MediatR

Les requêtes MediatR sont de simples classes qui représentent les données nécessaires à l'exécution d'une opération spécifique. Voici un exemple de classe de requête qui représente une commande pour créer un nouvel utilisateur.

public class CreateUserCommand : IRequest<int>
{
    public string Name { get; set; }
    public string Email { get; set; }
    public int Id { get; set; }
}

Dans cet exemple, la classe CreateUserCommand implémente l'interface IRequest<int>, indiquant que cette requête attend une réponse entière, qui pourrait représenter l'ID de l'utilisateur créé.

Ensuite, vous devez créer un gestionnaire pour cette demande. Dans chaque gestionnaire, la méthode Handle est l'endroit où la logique de la demande est exécutée :

public class CreateUserHandler : IRequestHandler<CreateUserCommand, int>
{
    public async Task<int> Handle(CreateUserCommand command, CancellationToken token)
    {
        // Implement logic to create a user here
        // For this example, let's pretend we create a user and return the ID
        return await Task.FromResult(1); // Assume the user's ID is 1
    }
}

Utiliser MediatR dans votre application

En suivant le même processus utilisé pour configurer MediatR, vous l'intégrez dans le flux de travail de votre application. Cela se fait généralement via un contrôleur ou un endpoint dans une application ASP.NET Core. Voici un exemple utilisant un contrôleur API :

[ApiController]
[Route("[controller]")]
public class UsersController : ControllerBase
{
    private readonly IMediator _mediator;

    public UsersController(IMediator mediator)
    {
        _mediator = mediator;
    }

    [HttpPost]
    public async Task<ActionResult<int>> Create(CreateUserCommand command)
    {
        var userId = await _mediator.Send(command);
        return CreatedAtRoute("GetUser", new { id = userId }, command);
    }
}

Dans ce contrôleur, la méthode d'action Create envoie la CreateUserCommand à MediatR en appelant _mediator.Send(command). MediatR trouve ensuite le gestionnaire approprié pour cette commande et l'exécute. Le résultat est renvoyé et utilisé pour générer une réponse dans le même processus.

Au-delà des requêtes de base : notifications et comportements

MediatR prend également en charge les notifications et les comportements. Les notifications sont des messages auxquels plusieurs gestionnaires peuvent s'abonner et traiter, permettant une approche plus orientée événements au sein de votre application. Les comportements, d'autre part, s'apparentent à des middlewares pour vos requêtes MediatR, vous permettant d'implémenter des préoccupations transversales telles que la journalisation, la validation, ou la gestion des transactions.

Présentation de la Bibliothèque IronPDF

Mediatr C# (Comment cela fonctionne pour les développeurs) : Figure 3 - IronPDF

IronPDF est une bibliothèque C# conçue pour les développeurs .NET qui ont besoin d'un moyen simple de créer, modifier et travailler avec des fichiers PDF dans leurs applications sans préoccupations d'écriture. Les développeurs peuvent générer des PDFs sans se plonger dans des APIs complexes en convertissant simplement des pages web ou du code HTML directement en format PDF. IronPDF ne se limite pas seulement à la création de PDFs ; il offre également des fonctionnalités pour modifier les PDFs, telles que l'ajout de texte, d'images et de pages, ou même remplir et éditer des formulaires dans des documents PDF. Les développeurs peuvent travailler de manière exhaustive avec les PDFs, y compris des tâches comme la fusion, la division et la sécurisation des fichiers PDF avec des mots de passe et des autorisations.

IronPDF se spécialise dans la conversion HTML en PDF en préservant avec précision les mises en page et styles originaux. Cela le rend idéal pour générer des PDFs à partir de contenu web comme des rapports, des factures et de la documentation. Il prend en charge la conversion de fichiers HTML, d'URLs et même de chaînes HTML brutes en fichiers PDF.

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");
    }
}

Exemple de Code

Dans cet exemple, supposons que la requête MediatR fait référence à une certaine forme de contenu ou de métadonnées média que nous voulons inclure dans notre PDF. Puisque MediatR n'est pas directement lié à la fonctionnalité d'IronPDF, nous aborderons cela en créant un document PDF à partir d'un contenu HTML incluant des informations ou références médias comme un excellent point de départ.

using IronPdf;

public class PdfGenerator
{
    public void CreatePdfWithMediaInfo(string htmlContent)
    {
        // Insert your License Key here if required
        License.LicenseKey = "License-Key";

        // Initialize the HtmlToPdf renderer
        var renderer = new ChromePdfRenderer();

        // Create an HTML template with media information
        string htmlTemplate = $@"
            <html>
            <head>
                <title>Media Information</title>
            </head>
            <body>
                <h1>Media Details</h1>
                <!-- Insert your media information here -->
                {htmlContent}
            </body>
            </html>";

        // Convert the HTML string to a PDF document
        var pdfDocument = renderer.RenderHtmlAsPdf(htmlTemplate);
        pdfDocument.SaveAs("MediaInformation.pdf");
    }
}

class Program
{
    static void Main(string[] args)
    {
        // Example HTML content with MediatR information
        string htmlContent = @"
            <div>
                <h2>MediatR Information</h2>
                <p>MediatR is a media tracking system...</p>
            </div>";

        // Create an instance of PdfGenerator
        PdfGenerator pdfGenerator = new PdfGenerator();

        // Call the CreatePdfWithMediaInfo method to generate the PDF
        pdfGenerator.CreatePdfWithMediaInfo(htmlContent);

        Console.WriteLine("PDF generated successfully.");
    }
}

Dans cet extrait de code, htmlContent est une variable qui devrait contenir vos informations médias au format HTML. Cela pourrait inclure du texte, des images, des liens vers des vidéos ou tout autre contenu compatible HTML. IronPDF convertira ce contenu HTML en un document PDF, en préservant la mise en page et le formatage spécifiés dans le HTML.

Mediatr C# (Comment cela fonctionne pour les développeurs) : Figure 4 - Résultat PDF

Conclusion

En suivant les étapes décrites dans cet article, vous devriez maintenant avoir une base solide pour incorporer MediatR dans vos projets, en démarrant avec la gestion de commandes et de requêtes de base pour tirer parti des fonctionnalités plus avancées comme les notifications et les comportements. À mesure que votre application grandit et évolue, MediatR offre des outils et des modèles qui peuvent aider à garder votre code propre, maintenable et évolutif.

En conclusion, il mérite d'être noté qu'explorer et intégrer différentes bibliothèques et outils, tels qu'IronPDF, peut encore améliorer vos projets .NET. IronPDF propose un essai gratuit des fonctionnalités avancées de PDF. Pour les projets nécessitant des fonctionnalités PDF avancées, les licences IronPDF commencent à partir de $999, offrant une solution robuste pour les développeurs .NET cherchant à étendre les fonctionnalités de leur application.

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.

OR
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 Iron Suite
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
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $