IRONSOFTWAREHOME
ENTWICKLER-UPDATES

Mediatr C# (Wie es für Entwickler funktioniert)

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 19. Juli 2026

MediatR ist eine beliebte .NET-Bibliothek, die das Mediator-Muster implementiert und es Objekten ermöglicht, über einen Mediator miteinander zu kommunizieren, anstatt direkt. Dieser Ansatz ist besonders nützlich in Anwendungen, in denen eine geringe Kopplung zwischen den Komponenten wünschenswert ist. In diesem Artikel werfen wir einen detaillierten Blick auf MediatR im Kontext der C#-Entwicklung und geben praktische Beispiele und Anleitungen zur Integration in Ihre Webanwendungsprojekte. Wir werden auch die IronPDF-Bibliothek für PDF-Funktionalitäten in .NET-Anwendungen für die Integration von PDF-Funktionalitäten in ASP.NET Core-Projekten erkunden.

Einführung in das Mediator-Muster und MediatR

Mediatr C# (Wie es für Entwickler funktioniert): Abbildung 1 - MediatR und Mediator-Muster

Das Mediator-Muster ist ein Software-Designmuster, das die Interaktion zwischen Objekten so erleichtert, dass direkte Abhängigkeiten zwischen ihnen reduziert werden, was die lose Kopplung fördert. MediatR bietet eine unanspruchsvolle Mediator-Implementierung, die sich auf Einfachheit und Effizienz bei der Erleichterung der Objektkommunikation konzentriert.

Im Herzen der MediatR-Bibliothek steht das Konzept von Anfragen und mehreren Handlern. An der Anforderungsstelle kapselt ein Objekt die Details des Vorgangs oder der Aktion ein und wartet auf die Bearbeitung durch den MediatR-Mechanismus. Jede Anfrage wird von einem entsprechenden Handler oder einer Handle-Methode bearbeitet, die die Geschäftslogik zur Ausführung der Anfrage enthält. Diese Struktur ist besonders nützlich zur Implementierung des Command Query Responsibility Segregation (CQRS)-Musters, bei dem die Trennung von Lese- und Schreiboperationen zu besser wartbaren und skalierbaren Softwarearchitekturen führen kann.

Installation von MediatR in einem .NET Core Projekt mit der Package Manager Console

Um MediatR in einem ASP.NET Core-Projekt zu verwenden, müssen Sie zuerst das MediatR-Paket installieren. Dies kann über die Paket-Manager-Konsole in Visual Studio mit dem folgenden Befehl erfolgen:

PM > Install-Package MediatR

Mediatr C# (Wie es für Entwickler funktioniert): Abbildung 2 - MediatR installieren

Nach der Installation des Pakets ist es notwendig, MediatR in den ASP.NET Core-Abhängigkeitsinjektionscontainer hinzuzufügen. Dies wird normalerweise in der Program.cs oder Startup.cs-Datei Ihres Webanwendungsprojekts durchgeführt, abhängig von der Version von ASP.NET Core, die Sie verwenden. Hier erfahren Sie, wie Sie es in einem Programm mit einer minimalen API-Präsentationsschicht tun können.

// 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();

In der Programmklasse initialisiert var builder = WebApplication.CreateBuilder(args); die Webanwendung, um die Bühne für die MediatR-Integration zu bereiten.

Erstellung Ihrer ersten MediatR-Anfrage und -Handler

MediatR-Anfragen sind einfache Klassen, die die Daten darstellen, die erforderlich sind, um einen bestimmten Vorgang auszuführen. Hier ist ein Beispiel für eine Anfragenklasse, die einen Befehl zum Erstellen eines neuen Benutzers darstellt.

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

In diesem Beispiel implementiert die CreateUserCommand-Klasse das IRequest<int>-Interface, was anzeigt, dass diese Anfrage eine Ganzzahl-Antwort erwartet, die die ID des erstellten Benutzers darstellen könnte.

Als Nächstes müssen Sie einen Handler für diese Anfrage erstellen. Innerhalb jedes Handlers ist die Handle-Methode der Ort, an dem die Logik der Anfrage ausgeführt wird:

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
    }
}

Verwendung von MediatR in Ihrer Anwendung

Indem Sie den gleichen Prozess wie bei der Einrichtung von MediatR befolgen, integrieren Sie es in den Arbeitsablauf Ihrer Anwendung. Dies geschieht in der Regel über einen Controller oder Endpunkt in einer ASP.NET Core-Anwendung. Hier ist ein Beispiel mit einem API-Controller:

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

In diesem Controller sendet die Create-Aktionsmethode den CreateUserCommand an MediatR, indem sie _mediator.Send(command) aufruft. MediatR findet dann den entsprechenden Handler für diesen Befehl und führt ihn aus. Das Ergebnis wird zurückgegeben und im selben Prozess verwendet, um eine Antwort zu generieren.

Beyond Basic Requests: Benachrichtigungen und Verhaltensweisen

MediatR unterstützt auch Benachrichtigungen und Verhaltensweisen. Benachrichtigungen sind Nachrichten, die von mehreren Handlern abonniert und bearbeitet werden können, wodurch ein ereignisorientierterer Ansatz innerhalb Ihrer Anwendung ermöglicht wird. Verhaltensweisen sind hingegen ähnlich wie Middleware für Ihre MediatR-Anfragen und ermöglichen es Ihnen, Querschnittsbelange wie Protokollierung, Validierung oder Transaktionsmanagement zu implementieren.

Einführung in die IronPDF-Bibliothek

Mediatr C# (Wie es für Entwickler funktioniert): Abbildung 3 - IronPDF

IronPDF ist eine C#-Bibliothek für .NET-Entwickler, die einfach PDFs erstellen, bearbeiten und nutzen wollen. Entwickler können PDFs generieren, ohne sich mit komplexen APIs auseinanderzusetzen, indem sie einfach Webseiten oder HTML-Code direkt in PDF-Format umwandeln. IronPDF ist nicht nur auf die Erstellung von PDFs beschränkt; es bietet auch Funktionen zum Bearbeiten von PDFs, wie das Hinzufügen von Text, Bildern und Seiten oder sogar das Ausfüllen und Bearbeiten von Formularen innerhalb von PDF-Dokumenten. Entwickler können umfassend mit PDFs arbeiten, einschließlich Aufgaben wie dem Zusammenführen, Aufteilen und Sichern von PDF-Dateien mit Passwörtern und Berechtigungen.

IronPDF spezialisiert sich auf das Konvertieren von HTML zu PDF, wobei die ursprünglichen Layouts und Stile präzise erhalten bleiben. Dies macht es ideal zum Generieren von PDFs aus web-basierten Inhalten wie Berichten, Rechnungen und Dokumentationen. Es unterstützt die Konvertierung von HTML-Dateien, URLs und sogar rohen HTML-Strings in PDF-Dateien.

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

Codebeispiel

In diesem Beispiel nehmen wir an, dass sich die MediatR-Anfrage auf eine Art von Medieninhalt oder Metadaten bezieht, die wir in unser PDF einfügen möchten. Da MediatR nicht direkt mit den Funktionen von IronPDF in Zusammenhang steht, nähern wir uns dem, indem wir ein PDF-Dokument aus HTML-Inhalten erstellen, das Medieninformationen oder -verweise als großartigen Ausgangspunkt enthält.

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

In diesem Code-Snippet sollte die Variable htmlContent Ihre Medieninformationen im HTML-Format enthalten. Dies könnte Text, Bilder, Links zu Videos oder jeden anderen HTML-kompatiblen Inhalt umfassen. IronPDF konvertiert diesen HTML-Inhalt in ein PDF-Dokument, wobei das im HTML festgelegte Layout und die Formatierung erhalten bleiben.

Mediatr C# (Wie es für Entwickler funktioniert): Abbildung 4 - PDF-Ausgabe

Abschluss

Indem Sie die in diesem Artikel beschriebenen Schritte befolgen, sollten Sie nun über eine solide Grundlage für die Integration von MediatR in Ihre Projekte verfügen, beginnend mit der grundlegenden Befehls- und Abfragebearbeitung bis hin zur Nutzung fortschrittlicherer Funktionen wie Benachrichtigungen und Verhaltensweisen. Während Ihre Anwendung wächst und sich weiterentwickelt, bietet MediatR Tools und Muster, die helfen können, Ihren Code sauber, wartbar und skalierbar zu halten.

Zum Abschluss sei darauf hingewiesen, dass die Erkundung und Integration verschiedener Bibliotheken und Tools, wie IronPDF, Ihre .NET-Projekte weiter verbessern kann. IronPDF bietet eine kostenlose Testversion von erweiterten PDF-Funktionen. Für Projekte, die erweiterte PDF-Funktionen erfordern, beginnt die Lizenzierung von IronPDF ab $999 und bietet eine robuste Lösung for .NET-Entwickler, die die Funktionalitäten ihrer Anwendungen erweitern möchten.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $