.NET-HILFE

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

Veröffentlicht 13. August 2024
Teilen Sie:

Einführung

NServiceBus ist ein leistungsfähiger und anpassungsfähiger Servicebus für das .NET-Framework, der die Entwicklung verteilter Systeme rationalisiert. Die starken Messaging-Muster, die es bietet, garantieren eine zuverlässige Nachrichtenverarbeitung und -übermittlung über mehrere Microservices und Anwendungen hinweg. NServiceBus abstrahiert die zugrunde liegende Messaging-Architektur, so dass sich die Entwickler auf die Geschäftslogik konzentrieren können, anstatt sich mit den Feinheiten des Aufbaus verteilter Systeme auseinanderzusetzen.

IronPDF hingegen ist eine beliebte .NET-Bibliothek zum Erzeugen, Anzeigen und Ändern von PDF-Dateien. Es ist dafür bekannt, dass es einfach zu bedienen und sehr effizient bei der Erstellung von PDFs aus verschiedenen Quellen, wie ASPX-Dateien und HTML, ist.

Entwickler können durch die Kombination von NServiceBus c und IronPDF zuverlässige, skalierbare und wartbare Softwaresysteme erstellen, die PDF-Dokumente als Teil ihrer Geschäftsabläufe erzeugen und verwalten können.

In diesem Artikel erfahren Sie, wie Sie ein einfaches C# NServiceBus-Projekt einrichten und in IronPDF integrieren, um einen optimierten Workflow für die Verwaltung und Erstellung von PDF-Dokumenten in einer verteilten Anwendungsarchitektur aufzubauen. Nach der Lektüre dieses Einführungslehrgangs sollten Sie genau wissen, wie diese beiden effektiven Technologien zusammenarbeiten können, um Ihre PDF-bezogenen Aufgaben in einer verteilten Umgebung zu vereinfachen.

Was bedeutet NServiceBus c#?

NServiceBus ist ein leistungsfähiges und anpassungsfähiges Framework, das die Erstellung verteilter Systeme und serviceorientierter .NET-Architekturen erleichtert. Durch den Einsatz von NServiceBus können Sie verschiedene Nachrichtentypen einfach verwalten und eine zuverlässige Kommunikation sicherstellen. Dies ist vor allem bei Webanwendungen und ähnlichen Architekturen von entscheidender Bedeutung, bei denen eine nahtlose Weiterleitung und Verarbeitung von Nachrichten unerlässlich ist. Die Message-Handler von NServiceBus kümmern sich effektiv um den Empfang von Nachrichten und stellen sicher, dass jede logische Komponente reibungslos interagiert. NServiceBus hat die folgenden wichtigen Eigenschaften:

NServiceBus C# (Wie es für Entwickler funktioniert): Abbildung 1 - NServiceBus C#

Merkmale von NServicebus

Nachrichtengestützte Kommunikation

NServiceBus fördert die nachrichtenbasierte Kommunikation zwischen verschiedenen Diensten oder Komponenten in einem System. Durch die Entkopplung von Komponenten schafft diese Methode Entwürfe, die einfacher zu skalieren und zu verwalten sind.

Zuverlässiges Messaging

Durch die automatische Verwaltung von Wiederholungsversuchen, Dead-Letter-Queues und anderen Fehlertoleranztechniken wird eine zuverlässige Nachrichtenzustellung gewährleistet. In verteilten Systemen, in denen es häufig zu Netzausfällen und anderen Problemen kommt, ist diese Zuverlässigkeit unerlässlich.

Veröffentlichen/Abonnieren-Modell

Das Publish/Subscribe-Muster wird von NServiceBus unterstützt und ermöglicht es Diensten, Ereignisse zu veröffentlichen und andere Dienste diese Ereignisse abonnieren zu lassen. Dadurch werden ereignisgesteuerte Architekturen möglich, bei denen Änderungen an Ereignissen in einer Komponente des Systems Reaktionen in anderen Komponenten hervorrufen können.

Saga Management

Langlaufende Geschäftsprozesse können mit NServiceBus dank der integrierten Unterstützung von Sagas verwaltet werden. Sagas ermöglichen der Serviceplattform die Verwaltung des Zustands und die Koordinierung komplizierter Vorgänge zwischen mehreren Diensten.

Erweiterbarkeit und Anpassung

Es bietet ein außergewöhnliches Maß an Erweiterbarkeit, das es Entwicklern ermöglicht, die Handhabung, Verarbeitung und den Transport von Nachrichten zu personalisieren. Aufgrund seiner Anpassungsfähigkeit kann es in einer Vielzahl von Szenarien eingesetzt werden.

Integration mit verschiedenen Messaging-Plattformen

Zahlreiche Messaging-Systeme, einschließlich MSMQ, RabbitMQ, Azure Service Bus, Amazon SQS und andere, können in NServiceBus integriert werden. So können Entwickler die Kommunikationsinfrastrukturlösung auswählen, die ihren Anforderungen am besten entspricht.

Erstellen und Konfigurieren von NServiceBus in C#;

Sie müssen zunächst Ihre Entwicklungsumgebung einrichten, ein grundlegendes Projekt erstellen und einen grundlegenden Messaging-Dienst und ein Szenario erstellen, bevor Sie NServiceBus in einem C#-Projekt verwenden können. Hier finden Sie eine Schritt-für-Schritt-Anleitung, damit Sie loslegen können.

Erstellen Sie ein neues Visual Studio-Projekt

In Visual Studio ist das Erstellen eines Konsolenprojekts sehr einfach. Mit diesen einfachen Schritten können Sie in der Visual Studio-Umgebung eine Konsolenanwendung starten:

Stellen Sie sicher, dass Sie Visual Studio auf Ihrem PC installiert haben, bevor Sie es verwenden.

Ein neues Projekt starten

Klicken Sie auf Datei, dann auf Neu und schließlich auf Projekt.

NServiceBus C# (Wie es für Entwickler funktioniert): Abbildung 2 - Klicken Sie auf "Neu"

Sie können die "Konsolen-App" oder die "Konsolen-App" auswählen (.NET Core)vorlage" aus der Liste der Projektvorlagen-Referenzen unten.

Geben Sie einen Namen für Ihr Projekt in das Feld "Name" ein.

NServiceBus C# (Wie es für Entwickler funktioniert): Abbildung 3 - Geben Sie einen Namen und einen Speicherort für das Projekt an

Wählen Sie einen Speicherort für das Projekt.

Wenn Sie auf "Erstellen" klicken, wird das Projekt der Konsolenanwendung gestartet.

NServiceBus C# (Wie es für Entwickler funktioniert): Abbildung 4 - Klicken Sie auf "create"

NServiceBus-Pakete installieren

Navigieren Sie zu Extras > NuGet Package Manager > Package Manager Console, um die NuGet Package Manager Console zu öffnen.

Führen Sie den folgenden Befehl aus, um das NServiceBus NuGet-Paket zu installieren.

Install-Package NServiceBus
Install-Package NServiceBus
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Wählen Sie einen Transport

Der Transport wird von NServiceBus benötigt, um Nachrichten zu empfangen und zu senden. Wir bleiben beim Learning Transport, da er einfach zu bedienen ist und sich gut für Tests und Entwicklung eignet.

Installieren Sie das Paket für Learning Transport, indem Sie es ausführen.

Install-Package NServiceBus.RabbitMQ
Install-Package NServiceBus.RabbitMQ
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

NServiceBus konfigurieren

Einrichten des Endpunkts

Legen Sie die NServiceBus-Endpunktkonfiguration in Ihrer Program.cs-Datei fest:

using NServiceBus;
using System;
using System.Threading.Tasks;
using Messages;
class Program
{
    static async Task Main()
    {
        Console.Title = "Sender";
        var endpointConfiguration = new EndpointConfiguration("SenderEndpoint");
        // Use RabbitMQ Transport
        var transport = endpointConfiguration.UseTransport<RabbitMQTransport>();
        transport.ConnectionString("host=localhost");
        // Set up error queue
        endpointConfiguration.SendFailedMessagesTo("error");
        // Set up audit queue
        endpointConfiguration.AuditProcessedMessagesTo("audit");
        // Start the endpoint
        var endpointInstance = await Endpoint.Start(endpointConfiguration)
            .ConfigureAwait(false);
        Console.WriteLine("Press Enter to send a message...");
        Console.ReadLine();
        // Send a message
        var message = new MyMessage
        {
            Content = "Hello, NServiceBus with RabbitMQ!"
        };
        await endpointInstance.Send("ReceiverEndpoint", message)
            .ConfigureAwait(false);
        Console.WriteLine("Message sent. Press Enter to exit...");
        Console.ReadLine();
        // Stop the endpoint
        await endpointInstance.Stop()
            .ConfigureAwait(false);
    }
}
using NServiceBus;
using System;
using System.Threading.Tasks;
using Messages;
class Program
{
    static async Task Main()
    {
        Console.Title = "Sender";
        var endpointConfiguration = new EndpointConfiguration("SenderEndpoint");
        // Use RabbitMQ Transport
        var transport = endpointConfiguration.UseTransport<RabbitMQTransport>();
        transport.ConnectionString("host=localhost");
        // Set up error queue
        endpointConfiguration.SendFailedMessagesTo("error");
        // Set up audit queue
        endpointConfiguration.AuditProcessedMessagesTo("audit");
        // Start the endpoint
        var endpointInstance = await Endpoint.Start(endpointConfiguration)
            .ConfigureAwait(false);
        Console.WriteLine("Press Enter to send a message...");
        Console.ReadLine();
        // Send a message
        var message = new MyMessage
        {
            Content = "Hello, NServiceBus with RabbitMQ!"
        };
        await endpointInstance.Send("ReceiverEndpoint", message)
            .ConfigureAwait(false);
        Console.WriteLine("Message sent. Press Enter to exit...");
        Console.ReadLine();
        // Stop the endpoint
        await endpointInstance.Stop()
            .ConfigureAwait(false);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

NServiceBus C# (Wie es für Entwickler funktioniert): Abbildung 5 - Beispiel einer Konsolenausgabe

Eine Nachricht erstellen

Um die Nachricht darzustellen, fügen Sie eine neue Klasse hinzu.

public class MyMessage : IMessage
{
    public string Content { get; set; }
}
public class MyMessage : IMessage
{
    public string Content { get; set; }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Einen Message Handler erstellen

Fügen Sie eine neue Klasse hinzu, um die Nachricht zu bearbeiten.

using NServiceBus;
using System.Threading.Tasks;
public class MyMessageHandler : IHandleMessages<MyMessage>
{
    public Task Handle(MyMessage message, IMessageHandlerContext context)
    {
        Console.WriteLine($"Received message: {message.Content}");
        return Task.CompletedTask;
    }
}
using NServiceBus;
using System.Threading.Tasks;
public class MyMessageHandler : IHandleMessages<MyMessage>
{
    public Task Handle(MyMessage message, IMessageHandlerContext context)
    {
        Console.WriteLine($"Received message: {message.Content}");
        return Task.CompletedTask;
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Senden einer Nachricht

Senden Sie eine Nachricht vom Endpunkt aus. Passen Sie Ihre primäre Methode zur Übermittlung einer Nachricht mit Hilfe des Handlers an.

using NServiceBus;
using System;
using System.Threading.Tasks;
class Program
{
    static async Task Main()
    {
    Console.Title = "Receiver";
    var endpointConfiguration = new EndpointConfiguration("ReceiverEndpoint");
    endpointConfiguration.UseSerialization<NewtonsoftJsonSerializer>();
    // Use RabbitMQ Transport
    var transport = endpointConfiguration.UseTransport<RabbitMQTransport>();
    transport.UseConventionalRoutingTopology(QueueType.Quorum);
    transport.ConnectionString("host=localhost");
    // Set up error queue
    endpointConfiguration.SendFailedMessagesTo("error");
    // Set up audit queue
    endpointConfiguration.AuditProcessedMessagesTo("audit");
    endpointConfiguration.EnableInstallers();
    // Start the endpoint
    var endpointInstance = await Endpoint.Start(endpointConfiguration)
                .ConfigureAwait(false);
    Console.WriteLine("Press Enter to exit...");
    Console.ReadLine();
    // Stop the endpoint
    await endpointInstance.Stop()
            .ConfigureAwait(false);
    }
}
using NServiceBus;
using System;
using System.Threading.Tasks;
class Program
{
    static async Task Main()
    {
    Console.Title = "Receiver";
    var endpointConfiguration = new EndpointConfiguration("ReceiverEndpoint");
    endpointConfiguration.UseSerialization<NewtonsoftJsonSerializer>();
    // Use RabbitMQ Transport
    var transport = endpointConfiguration.UseTransport<RabbitMQTransport>();
    transport.UseConventionalRoutingTopology(QueueType.Quorum);
    transport.ConnectionString("host=localhost");
    // Set up error queue
    endpointConfiguration.SendFailedMessagesTo("error");
    // Set up audit queue
    endpointConfiguration.AuditProcessedMessagesTo("audit");
    endpointConfiguration.EnableInstallers();
    // Start the endpoint
    var endpointInstance = await Endpoint.Start(endpointConfiguration)
                .ConfigureAwait(false);
    Console.WriteLine("Press Enter to exit...");
    Console.ReadLine();
    // Stop the endpoint
    await endpointInstance.Stop()
            .ConfigureAwait(false);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

NServiceBus C# (Wie es für Entwickler funktioniert): Abbildung 6 - Beispiel einer Konsolenausgabe

Starten Sie die Anwendung und erstellen Sie das Projekt. Die Konsole sollte die Meldung "Received message: Hallo, NServiceBus!"

Erste Schritte

In einem C#-Projekt beinhaltet die Integration von NServiceBus mit RabbitMQ und IronPDF die Konfiguration von Nachrichten zwischen NServiceBus und RabbitMQ sowie die Verwendung von IronPDF zur Erstellung von PDFs. Hier finden Sie eine ausführliche Anleitung, damit Sie loslegen können:

Was ist IronPDF?

IronPDF ist eine .NET-Bibliothek zum Erstellen, Lesen, Bearbeiten und Konvertieren von PDF-Dateien. Damit können Programmierer mit PDF-Dateien in C#- oder VB.NET-Anwendungen mit einem leistungsstarken und intuitiven Werkzeug arbeiten. Die Eigenschaften und Möglichkeiten von IronPDF werden im Folgenden ausführlich beschrieben:

NServiceBus C# (Wie es für Entwickler funktioniert): Abbildung 7 - IronPDF: Die C# PDP Library Homepage

Merkmale von IronPDF

PDF-Erzeugung aus HTML

Konvertieren Sie JavaScript, HTML und CSS in PDF. unterstützt Media-Queries und Responsive Design, zwei moderne Webstandards. nützlich für die Erstellung von dynamisch gestalteten PDF-Dokumenten, Rechnungen und Berichten mit HTML und CSS.

PDF-Bearbeitung

Zu bereits vorhandenen PDFs können Sie Text, Bilder und anderes Material hinzufügen. Entfernen Sie Text und Bilder aus PDF-Dateien. Kombinieren Sie mehrere PDFs in einer Datei. PDF-Dateien in mehrere Dokumente aufteilen. Fügen Sie Anmerkungen, Fußzeilen, Kopfzeilen und Wasserzeichen ein.

PDF-Konvertierung

Konvertieren Sie Word, Excel, Bilder und andere Dateiformate in PDF. Umwandlung von PDF in Bilder (PNG, JPEG, usw.).

Leistung und Verlässlichkeit

Hohe Leistung und Zuverlässigkeit sind die Konstruktionsziele in Produktionsumgebungen. verwaltet effizient große Dokumente.

Installation von IronPDF

Installieren Sie IronPDF, indem Sie die NuGet Package Manager-Konsole öffnen.

Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
VB   C#

Konfigurieren Sie den Absender mit Nachricht

Nachrichten sind ein gemeinsames Projekt (klassenbibliothek) die sowohl der Absender als auch der Empfänger verwenden werden. Definieren Sie die Nachrichtenklasse im Projekt Messages. Erstellen Sie ein neues Klassenbibliotheksprojekt mit dem Namen Messages und fügen Sie es der Lösung hinzu.

Definieren Sie die Nachricht:

Erstellen Sie im Projekt Messages eine neue Klasse namens GeneratePdfMessage.cs:

using NServiceBus;
public class GeneratePdfMessage : IMessage
{
    public string Content { get; set; }
    public string OutputPath { get; set; }
}
using NServiceBus;
public class GeneratePdfMessage : IMessage
{
    public string Content { get; set; }
    public string OutputPath { get; set; }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Fügen Sie sowohl im Sender- als auch im Empfängerprojekt einen Verweis auf das Projekt Nachrichten ein.

Richten Sie den NServiceBus-Endpunkt im Sender-Projekt ein, um RabbitMQ für die Nachrichtenübermittlung zu verwenden.

using NServiceBus;
using System;
using System.Threading.Tasks;
using Messages;
class Program
{
    static async Task Main()
    {
        Console.Title = "Sender";
        var endpointConfiguration = new EndpointConfiguration("SenderEndpoint");
        // Use RabbitMQ Transport
        var transport = endpointConfiguration.UseTransport<RabbitMQTransport>();
        transport.ConnectionString("host=localhost");
        // Set up error queue
        endpointConfiguration.SendFailedMessagesTo("error");
        // Set up audit queue
        endpointConfiguration.AuditProcessedMessagesTo("audit");
    endpointConfiguration.EnableInstallers();
        // Start the endpoint
        var endpointInstance = await Endpoint.Start(endpointConfiguration)
            .ConfigureAwait(false);
        Console.WriteLine("Press Enter to send a message...");
        Console.ReadLine();
        // Send a message
        var message = new GeneratePdfMessage
        {
            Content = "<h1>Hello, NServiceBus with RabbitMQ and IronPDF!</h1>",
            OutputPath = "output.pdf"
        };
        await endpointInstance.Send("ReceiverEndpoint", message)
            .ConfigureAwait(false);
        Console.WriteLine("Message sent. Press Enter to exit...");
        Console.ReadLine();
        // Stop the endpoint
        await endpointInstance.Stop()
            .ConfigureAwait(false);
    }
}
using NServiceBus;
using System;
using System.Threading.Tasks;
using Messages;
class Program
{
    static async Task Main()
    {
        Console.Title = "Sender";
        var endpointConfiguration = new EndpointConfiguration("SenderEndpoint");
        // Use RabbitMQ Transport
        var transport = endpointConfiguration.UseTransport<RabbitMQTransport>();
        transport.ConnectionString("host=localhost");
        // Set up error queue
        endpointConfiguration.SendFailedMessagesTo("error");
        // Set up audit queue
        endpointConfiguration.AuditProcessedMessagesTo("audit");
    endpointConfiguration.EnableInstallers();
        // Start the endpoint
        var endpointInstance = await Endpoint.Start(endpointConfiguration)
            .ConfigureAwait(false);
        Console.WriteLine("Press Enter to send a message...");
        Console.ReadLine();
        // Send a message
        var message = new GeneratePdfMessage
        {
            Content = "<h1>Hello, NServiceBus with RabbitMQ and IronPDF!</h1>",
            OutputPath = "output.pdf"
        };
        await endpointInstance.Send("ReceiverEndpoint", message)
            .ConfigureAwait(false);
        Console.WriteLine("Message sent. Press Enter to exit...");
        Console.ReadLine();
        // Stop the endpoint
        await endpointInstance.Stop()
            .ConfigureAwait(false);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Endpunktkonfiguration: Der Endpunkt wird durch den Aufruf von new EndpointConfiguration mit dem Namen "SenderEndpoint" initialisiert("SenderEndpunkt").

endpointConfiguration ist die Transportkonfiguration. Bei der Verbindung mit einer lokalen RabbitMQ-Instanz wird die Methode UseTransport() richtet NServiceBus für die Verwendung von RabbitMQ als Transportmechanismus ein.

Audit- und Fehlerwarteschlangen Wohin fehlgeschlagene Nachrichten und verarbeitete Nachrichten gesendet werden sollen, wird mit SendFailedMessagesTo konfiguriert("Fehler") und AuditProcessedMessagesTo("Prüfung").

Nachricht gesendet: endpointInstance.A GeneratePdfMessage wird über die Sendedatei an den "ReceiverEndpoint" gesendet("ReceiverEndpoint", Nachricht) funktion.

Konfigurieren des Empfängers zur PDF-Erzeugung

Richten Sie den NServiceBus-Endpunkt im Receiver-Projekt ein, um Nachrichten über RabbitMQ zu akzeptieren und PDFs mit IronPDF zu erzeugen.

using NServiceBus;
using System;
using System.Threading.Tasks;
class Program
{
    static async Task Main()
    {
        Console.Title = "Receiver";
        var endpointConfiguration = new EndpointConfiguration("ReceiverEndpoint");
        // Use RabbitMQ Transport
        var transport = endpointConfiguration.UseTransport<RabbitMQTransport>();
        transport.ConnectionString("host=localhost");
        // Set up error queue
        endpointConfiguration.SendFailedMessagesTo("error");
        // Set up audit queue
        endpointConfiguration.AuditProcessedMessagesTo("audit");
        // Start the endpoint
        var endpointInstance = await Endpoint.Start(endpointConfiguration)
            .ConfigureAwait(false);
        Console.WriteLine("Press Enter to exit...");
        Console.ReadLine();
        // Stop the endpoint
        await endpointInstance.Stop()
            .ConfigureAwait(false);
    }
}
using NServiceBus;
using System;
using System.Threading.Tasks;
class Program
{
    static async Task Main()
    {
        Console.Title = "Receiver";
        var endpointConfiguration = new EndpointConfiguration("ReceiverEndpoint");
        // Use RabbitMQ Transport
        var transport = endpointConfiguration.UseTransport<RabbitMQTransport>();
        transport.ConnectionString("host=localhost");
        // Set up error queue
        endpointConfiguration.SendFailedMessagesTo("error");
        // Set up audit queue
        endpointConfiguration.AuditProcessedMessagesTo("audit");
        // Start the endpoint
        var endpointInstance = await Endpoint.Start(endpointConfiguration)
            .ConfigureAwait(false);
        Console.WriteLine("Press Enter to exit...");
        Console.ReadLine();
        // Stop the endpoint
        await endpointInstance.Stop()
            .ConfigureAwait(false);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Diese Einrichtung für den Empfänger-Endpunkt "ReceiverEndpoint" ist vergleichbar mit der Sender-Konfiguration.

Nachrichten-Handler

Erstellen Sie im Receiver-Projekt eine neue Klasse namens GeneratePdfMessageHandler.cs.

using NServiceBus;
using System;
using System.Threading.Tasks;
using Messages;
using IronPdf;
public class GeneratePdfMessageHandler : IHandleMessages<GeneratePdfMessage>
{
    public Task Handle(GeneratePdfMessage message, IMessageHandlerContext context)
    {
        Console.WriteLine($"Received message to generate PDF with content: {message.Content}");
        // Generate PDF
        var renderer = new HtmlToPdf();
        var pdf = renderer.RenderHtmlAsPdf(message.Content);
        pdf.SaveAs(message.OutputPath);
        Console.WriteLine($"PDF generated and saved to: {message.OutputPath}");
        return Task.CompletedTask;
    }
}
using NServiceBus;
using System;
using System.Threading.Tasks;
using Messages;
using IronPdf;
public class GeneratePdfMessageHandler : IHandleMessages<GeneratePdfMessage>
{
    public Task Handle(GeneratePdfMessage message, IMessageHandlerContext context)
    {
        Console.WriteLine($"Received message to generate PDF with content: {message.Content}");
        // Generate PDF
        var renderer = new HtmlToPdf();
        var pdf = renderer.RenderHtmlAsPdf(message.Content);
        pdf.SaveAs(message.OutputPath);
        Console.WriteLine($"PDF generated and saved to: {message.OutputPath}");
        return Task.CompletedTask;
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

GeneratePdfMessage, das den InterfaceHandler IHandleMessages verwendet, gibt an, dass es Nachrichten des Typs GeneratePdfMessage durch Implementierung einer Schnittstelle für IHandleMessages.

NServiceBus C# (Wie es für Entwickler funktioniert): Abbildung 8 - Beispiel einer Konsolenausgabe

Manage Approach: Nach Erhalt der Nachricht erstellt die Funktion Handle mit IronPDF eine PDF-Datei. Der HTML-Inhalt der Nachricht wird durch den HtmlToPdf-Renderer-Code in ein PDF-Dokument umgewandelt und im angegebenen Ausgabepfad gespeichert.

NServiceBus C# (Wie es für Entwickler funktioniert): Abbildung 9 - PDF-Ausgabe bei Verwendung von NServiceBus mit RabbitMQ zusammen mit IronPDf

Schlussfolgerung

NServiceBus kann mit RabbitMQ und IronPDF in C# integriert werden, um eine skalierbare und stabile Lösung für verteilte Systeme zu bieten, die PDFs dynamisch und zuverlässig erzeugen müssen. Diese Kombination nutzt die Fähigkeiten von NServiceBus zur Nachrichtenverarbeitung, die Zuverlässigkeit und Anpassungsfähigkeit von RabbitMQ als Message Broker und die robusten PDF-Bearbeitungswerkzeuge von IronPDF. Die daraus resultierende Architektur gewährleistet die Entkopplung zwischen den Diensten und ermöglicht eine autonome Entwicklung und Skalierbarkeit.

RabbitMQ stellt die Zustellung von Nachrichten auch bei Netzwerk- oder Anwendungsausfällen sicher. NServiceBus vereinfacht die Weiterleitung und Verarbeitung von Nachrichten, und IronPDF ermöglicht die Umwandlung von HTML-Text in hochwertige PDF-Dokumente. Diese Integration bietet einen flexiblen Rahmen für die Entwicklung anspruchsvoller, umfangreicher Anwendungen und verbessert darüber hinaus die Wartbarkeit und Zuverlässigkeit des Systems.

Wenn Sie IronPDF und Iron Software zu Ihrem Toolkit für die .NET-Programmierung hinzufügen, können Sie effektiv mit Barcodes arbeiten, PDFs erzeugen, OCR durchführen und mit Excel verknüpfen. IronPDFdie ab 749 $ erhältlich ist, verbindet nahtlos die Funktionen mit der Leistung, Kompatibilität und Benutzerfreundlichkeit von IronSoftwaresuite, um zusätzliche Webanwendungen und -funktionen sowie eine effizientere Entwicklung zu ermöglichen.

Wenn es klar definierte Lizenzoptionen gibt, die auf die spezifischen Anforderungen des Projekts zugeschnitten sind, können die Entwickler das optimale Modell mit Sicherheit auswählen. Diese Vorteile ermöglichen es Entwicklern, eine Reihe von Schwierigkeiten effektiv und transparent zu bewältigen.

< PREVIOUS
Flurl C# (Wie es für Entwickler funktioniert)
NÄCHSTES >
C# Übergeben nach Referenz (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,308,499 Lizenzen anzeigen >