IRONSOFTWAREHOME

Iron Suite for .NET

10 .NET-Bibliotheken. Eine komplette Dokumenten-Suite.

IRONPDF
IRONWORD
IRONXL
IRONPPT
IRONOCR
IRONBARCODE
IRONQR
IRONPRINT
IRONZIP
IRONWEBSCRAPER
DIE IRON SUITE VERWENDEN

Wie man HTML in PDF in .NET 10 konvertiert

Curtis Chau
Curtis Chau
Updated: 21. April 2026

Moderne .NET-Entwickler arbeiten häufig mit asynchroner Programmierung bei der Integration von Bibliotheken wie IronPDF, IronOCR, IronWord und IronXL. Diese Produkte führen häufig lang laufende Aufgaben aus – wie das Rendern von PDFs, die Verarbeitung von OCR-Inhalten oder das Erzeugen großer Tabellenkalkulationen – und der richtige Weg, um Anwendungen reaktionsfähig zu halten, ist die Verwendung der auf C# CancellationToken basierenden Stornierung.

In diesem Artikel wird erklärt, wie Abbruch-Token verwendet werden, wie eine Methode ein Token akzeptiert, wie der Abbruch von Aufgaben gehandhabt wird und wie diese Muster in angemessener und zeitgerechter Weise in Iron Software-Bibliotheken integriert werden können. Wir behandeln auch bewährte Verfahren, Ressourcenmanagement und die gleichzeitige Verwendung mehrerer CancellationTokens.

Warum Stornierungsanfragen in Iron Software-Workloads wichtig sind

Iron Software

Die Tools von Iron Software führen häufig asynchrone Operationen aus - zum Beispiel:

Dies können lang laufende Operationen sein, die bei einem Klick auf eine Abbrechen-Schaltfläche, beim Navigieren oder wenn der aufrufende Code eine Stornierungsanfrage ausgibt, reibungslos beendet werden müssen.

Die Verwendung von Kündigungstoken gewährleistet dies:

  • Responsive Anwendungen
  • Bessere Ressourcenverwaltung
  • Kontrollierte Freigabe von nicht verwalteten Ressourcen
  • Ein sauberes kooperatives Stornierungsmodell

Grundlagen des C# CancellationToken verstehen

C# bietet die Klasse CancellationTokenSource, die ein CancellationToken-Token erzeugt. Ein CTS new CancellationTokenSource() kann ein Token erstellen, das an asynchrone Methoden übergeben wird.

var cts = new CancellationTokenSource();
CancellationToken token = cts.Token;

Ein Token wird über einen Methodenparameter weitergegeben:

public async Task ProcessPdfAsync(string html, CancellationToken token)

Innerhalb der Methode überprüfen Sie regelmäßig:

token.ThrowIfCancellationRequested();

oder prüfen Sie die Eigenschaft IsCancellationRequested:

if (token.IsCancellationRequested)
{
    Console.WriteLine("Cancellation requested.");
    return;
}

Dies bietet ein kooperatives Stornierungsmuster, bei dem das Event der abgebrochenen Operation nur eintritt, wenn Ihr Code das Token überprüft.

Verwendung von CancellationToken mit IronPDF

Das HTML-Rendering von IronPDF ist für asynchrone Programmierung konzipiert, sodass Sie Stornierungen problemlos integrieren können.

public async Task<PdfDocument> BuildPdfAsync(string html, CancellationToken token)
    {
        Console.WriteLine("\n[Generator] Starting PDF rendering process...");
        var renderer = new ChromePdfRenderer();

        token.ThrowIfCancellationRequested();

        Console.WriteLine("[Generator] Simulating a 2-second delay...");
        await Task.Delay(2000, token);

        token.ThrowIfCancellationRequested();

        Console.WriteLine("[Generator] Delay complete. Starting actual rendering...");

        // This is the working overload for your library version
        return await renderer.RenderHtmlAsPdfAsync(html);
    }

Beispiel Konsolenausgabe

Konsolenausgabe

Dies zeigt einen öffentlichen asynchronen Task, der den Abbruch an mehreren Stellen unterstützt. Wenn ein Abbruch erfolgt, löst die Methode eine OperationCanceledException aus, die Sie in einem Catch-Block behandeln.

Verwendung von CancellationToken mit IronOCR

Die lang laufende Operation der Bildscannen von IronOCR profitiert ebenfalls von einem internen CancellationToken:

public class OcrProcessor
{
    private readonly IronOcr.IronTesseract ocr = new IronOcr.IronTesseract();

    public async Task<string> ExtractTextAsync(string path, CancellationToken token)
    {
        // Check for cancellation immediately upon entering the method.
        token.ThrowIfCancellationRequested();

        // Run the synchronous OCR method on a background thread.
        // This is the correct pattern for cancellable synchronous wrappers.
        return await Task.Run(() => ocr.Read(path).Text, token);
    }
}

Beispielausgabe

Beispielverwendung von IronOCR mit CancellationTokens

Die IronWord-Dokumentenerstellung und die IronXL-Tabellenkalkulation funktionieren auf die gleiche Weise. Da es sich um abbrechbare Operationen handelt, vermeidet das kooperative Abbruchmuster das Blockieren von UI-Threads oder Hintergrunddiensten.

Periodische Prüfung auf Abbruch bei langen Operationen

Ein gängiges Muster ist die Schleife und die Überprüfung der Absage:

public async Task LongRunningOperation(CancellationToken token)
{
    for (int i = 0; i < 1000; i++)
    {
        token.ThrowIfCancellationRequested();
        await Task.Delay(10, token); // await Task.Delay helps cooperative cancellation
    }
}

Dadurch wird sichergestellt, dass Stornierungsanfragen angemessen und rechtzeitig bearbeitet werden und das System keine Zyklen verschwendet.

Verwendung von CancellationToken mit HttpClient vor IronPDF Rendering

Wenn Sie eine Webanforderung ausführen, um HTML zu holen, bevor Sie eine PDF-Datei erzeugen, übergeben Sie immer das Token:

var client = new HttpClient();

public async Task<string> FetchHtmlAsync(string url, CancellationToken token)
{
    var response = await client.GetAsync(url, token);

    if (!response.IsSuccessStatusCode)
        throw new Exception("Error occurred while requesting content.");

    return await response.Content.ReadAsStringAsync(token);
}

Dadurch wird sichergestellt, dass der HttpClient rechtzeitig abgebrochen wird, wenn der Benutzer wegnavigiert.

Abbruch in .NET Core Hintergrunddiensten

.NET Core Background Services enthalten einen internen CancellationToken, der automatisch an die ExecuteAsync-Methode übergeben wird. Verwenden Sie es, wenn Sie Iron Software Tools einsetzen:

protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
    while (!stoppingToken.IsCancellationRequested)
    {
        await ProcessPdfAsync("<h1>Hello</h1>", stoppingToken);
        await Task.Delay(5000, stoppingToken);
    }
}

Dies ist das allgemeine Muster für serverseitige, langwierige Aufgaben.

Best Practices für die Verwendung von Cancellation Tokens mit Iron Software

  • Übergeben Sie immer CancellationToken in async-Methoden.

  • Verwenden Sie ThrowIfCancellationRequested innerhalb von Schleifen.

  • Bevorzugen Sie await Task.Delay anstelle von engen Schleifen.

  • Kombinieren Sie Token mit LinkedTokenSource.

  • OperationCanceledException immer behandeln.

  • Verwenden Sie Stornierung für bessere Ressourcenverwaltung und reaktionsschnelle Anwendungen.

  • Denken Sie daran, dass C# eine objektorientierte Programmiersprache ist, also entwerfen Sie Ihre Stornierungsmethode und Stornierungslogik sauber.

Erweiterte Überlegungen zur Aufgabenstornierung

Um sicherzustellen, dass dies ein guter Artikel für jeden .NET-Entwickler ist, gibt es hier einen kurzen ergänzenden Abschnitt, der die verbleibende relevante Terminologie einbezieht und gleichzeitig die besten Praktiken verstärkt.

Der Abbruch von Aufgaben in C# erfolgt nicht automatisch; es hängt von der in Ihrer Methode implementierten Abbruchlogik ab. Die Token-Eigenschaft muss überprüft werden, und das an die Verbraucher zurückgegebene Token sollte es ihnen ermöglichen festzustellen, ob der Vorgang abgebrochen oder erfolgreich abgeschlossen wurde. Wenn eine Anfrage nicht abgeschlossen werden kann, sollte das System dennoch rechtzeitig und auf angemessene Weise beendet werden.

Wenn eine Benutzeroberfläche eine Abbrechen-Schaltfläche auslöst, signalisiert die Abbrechen-Methode auf Ihrer CancellationTokenSource die Stornierung, und Ihr Code sollte regelmäßig über token.IsCancellationRequested überprüfen. Wenn Ereignisse der stornierten Operation auftreten, werden Ressourcen freigegeben und die Kontrolle an den Aufrufer zurückgegeben.

Eine lang laufende Operation wie das tief verschachtelte Dokumentenscannen von IronOCR oder das Erzeugen massiver Tabellenkalkulationen mit IronXL sollte den CancellationToken durch jede Schicht reichen. Wenn der Benutzer die Seite verlässt, sollte der Vorgang sauber beendet werden.

Die Produkte von Iron Software erleichtern dies, da sie das asynchrone Programmiermodell von .NET nativ unterstützen. Wenn Sie Ihre eigenen Bibliotheken schreiben, sollten Sie dieselben Best Practices befolgen, damit Ihre Kunden Operationen rechtzeitig abbrechen können, ohne dass Speicher verloren geht oder nicht verwaltete Ressourcen zurückgehalten werden.

Abschluss

Die Verwendung von C# CancellationToken mit IronPDF, IronOCR, IronWord und IronXL bietet einen kooperativen Stornierungsansatz, der Anwendungen reaktionsfähig, effizient und robust hält. Durch die Anwendung bewährter Praktiken bei der asynchronen Programmierung, das Passieren von Tokens an asynchrone Aufgaben und das regelmäßige Überprüfen auf Stornierungen können Sie schnellere, sicherere und besser wartbare .NET-Anwendungen entwickeln, die bei Bedarf reibungslos beendet werden.

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.

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 IronPDF
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.