IRONSOFTWAREHOME
ENTWICKLER-UPDATES

Microsoft.Extensions.Caching.Memory Beispiel (Mit PDF) in C#

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 21. April 2026

Um Anwendungen reaktionsschnell und effektiv zu konstruieren, sind für .NET-Anwendungen häufig Optimierungsmethoden erforderlich. Caching ist ein leistungsstarker Ansatz, bei dem häufig angeforderte Inhalte vorübergehend in einem verteilten Cache gespeichert werden, um eine schnellere Abrufung zu erleichtern. Die Reduzierung der Verarbeitungszeit und Serverlast mit dieser Strategie kann zu einer erheblichen Steigerung der Anwendungsleistung führen. Zusätzlich können Leistungsindikatoren implementiert werden, um das Caching-System zu überwachen und zu verbessern.

[Caching](https://en.wikipedia.org/wiki/Cache_(computing) ist in diesem Kontext eine potente Optimierungsstrategie. Microsoft.Extensions.Caching.Memory bietet eine effiziente In-Memory-Objekt-Caching-Lösung for .NET-Anwendungen. Ihre PDF-zentrierten Apps werden deutlich schneller arbeiten und reagieren, wenn Sie den MemoryCache-Cache strategisch zusammen mit IronPDF nutzen.

Wir untersuchen, wie man Microsoft.Extensions.Caching.Memory C# Beispiele effizient mit IronPDF integriert. In diesem Artikel werden wir die Vorteile von Caching im Hinblick auf den IronPDF HTML zu PDF Konvertierungsprozess besprechen, einige nützliche Implementierungstipps durchgehen und eine detaillierte Anleitung zur Konfiguration des Cachings in Ihrem IronPDF-Programm anbieten. Abschließend werden Sie die Fähigkeiten und Ressourcen haben, um effektive und intuitive PDF-Anwendungen zu entwickeln.

Microsoft.Extensions.Caching.Memory: Die Grundlage für Caching in .NET

Caching ist eine Methode, die in vielen leistungsstarken .NET-Anwendungen verwendet wird, um häufig aufgerufene Daten im Speicher zu speichern und schnell abrufen zu können. Microsoft.Extensions ist eine der vielen Caching-Optionen, die zugänglich sind. Caching.Memory ist eine besonders starke und anpassungsfähige Option. Diese Bibliothek ist ein Bestandteil des größeren Microsoft.Extensions.Caching-Namespaces und bietet einen einfachen, aber effektiven Ansatz für In-Memory-Caching.

Wichtige Typen in "Microsoft.Extensions.Caching.Memory"

IMemoryCache

  • Diese Schnittstelle stellt die grundlegende Fähigkeit zur Nutzung des In-Memory-Caches dar. Sie bietet Möglichkeiten zum Verwalten von Cache-Einträgen sowie zum Hinzufügen, Abrufen und Entfernen dieser.
  • Betrachten Sie es als Ihren primären Einstiegspunkt für Ihre Caching-Prozesse.

MemoryCache

  • Die tatsächliche Implementierung von IMemoryCache befindet sich in dieser Klasse. Sie bietet Verwaltung und tatsächlichen Speichercache-Speicher für zwischengespeicherte Elemente.
  • In ASP.NET Core-Anwendungen wird normalerweise Abhängigkeitsinjektion genutzt, um eine Instanz von MemoryCache abzurufen.

MemoryCacheEntryOptions

Mit dieser Klasse können Sie Konfigurationseinstellungen für spezifische Cache-Elemente festlegen. Diese Einstellungen regulieren Dinge wie:

  • Ablauf: Sie können gleitende Ablaufzeiten (bei denen der Eintrag abläuft, wenn er innerhalb eines bestimmten Intervalls nicht aufgerufen wird) oder absolute Ablaufzeiten (bei denen der Eintrag automatisch abläuft) konfigurieren.
  • Priorität: Diese beeinflusst, ob Elemente entfernt werden sollen, wenn der Cache voll ist. Höher priorisierte Einträge haben eine geringere Chance, entfernt zu werden.
  • Callback nach dem Entfernen: Dadurch können Sie die Logik für die Handhabung von Daten feinabstimmen, wenn diese abgelaufen sind. Es ist besonders nützlich, wenn kritische Daten aktualisiert, Ressourcen verwaltet und Protokolle geführt werden müssen.

CacheEntry

  • Innerhalb des Caches bezeichnet dieser Typ einen einzelnen Eintrag. Es bietet Methoden und Attribute zum Abrufen der Größenangaben, Ablaufeinstellungen und zwischengespeicherte Werte.
  • Im Wesentlichen enthält es alle Informationen zu einem bestimmten Datenstück, das im Cache gespeichert ist.

ICacheEntry

  • Dieses Interface beschreibt die grundlegenden Aktivitäten, die an einem Cache-Element durchgeführt werden können, ist jedoch nicht erforderlich für grundlegende Caching-Vorgänge. Es enthält Anweisungen zum Abrufen des Wertes und der Ablaufdetails. Dies ist häufiger in Szenarien, wo Sie den Zeichenfolgen-Schlüssel abrufen müssen.
  • Dieses Interface wird von der Klasse CacheEntry implementiert, die eine praktische Implementierung dieser Funktionen bietet.

Installation und Konfiguration von Microsoft.Extensions.Caching.Memory

Während des Anwendungsstarts wird der Cache-Service innerhalb der Dienstesammlung der ASP.NET Core-Anwendung konfiguriert. Nachfolgend ist eine ASP.NET Core-Anwendung mit konfiguriertem Microsoft.Extensions.Caching.Memory dargestellt:

Installieren Sie das erforderliche NuGet-Paket

Stellen Sie zunächst sicher, dass Microsoft.Extensions.Caching.Memory für Ihr Projekt installiert ist. Sie können es mit dem Befehl über die NuGet-Paket-Manager-Konsole installieren:

PM > Install-Package Microsoft.Extensions.Caching.Memory

Oder wir können den NuGet-Paket-Manager verwenden, um das Paket zu installieren:

Microsoft.Extensions.Caching.Memory Beispiel (Mit PDF) in C#: Abbildung 1 - Suchen Sie nach Microsoft.Extensions.Caching.Memory im NuGet-Paket-Manager und installieren Sie es

Konfigurieren Sie Dienste in Startup.cs

Navigieren Sie zur ConfigureServices-Methode in Ihrer ASP.NET Core-App, indem Sie die Startup.cs-Datei öffnen. Um den Memory-Cache-Service einzurichten, fügen Sie den folgenden Code hinzu:

using Microsoft.Extensions.Caching.Memory;
public void ConfigureServices(IServiceCollection services)
{
    // Add memory cache service
    services.AddMemoryCache();
    // Other service configurations...
}

Das Speicher-Cache-Dienstobjekt wird zur Dienstesammlung der Anwendung hinzugefügt und mit diesem Code konfiguriert. Der Memory-Cache-System-Service wird über die AddMemoryCache-Funktion mit den Standardkonfigurationen registriert.

Injizieren Sie IMemoryCache

Sobald der Cache-Store eingerichtet ist, kann jede Klasse oder Komponente, die Caching benötigt, das IMemoryCache-Interface injiziert bekommen. In einer Controller- oder Serviceklasse, zum Beispiel:

public class MyService
{
    private readonly IMemoryCache _cache;
    public MyService(IMemoryCache cache)
    {
        _cache = cache;
    }
    // Use _cache to perform caching operations...
}

Methoden zum Cachen und Abrufen von Daten aus dem Speicher werden durch das IMemoryCache-Interface bereitgestellt.

Konfigurieren der Cache-Optionen

Durch das Festlegen von Cache-Parametern können Sie das Verhalten des Speichercaches ändern, einschließlich Größenbeschränkungen, Taktiken zur Cache-Eintragsentfernung und Regeln zum Ablauf von Cache-Werten. Hier ist ein Beispiel, wie Cache-Optionen gesetzt werden:

public void ConfigureServices(IServiceCollection services)
{
    // Configure cache options
    services.AddMemoryCache(options =>
    {
        options.SizeLimit = 1024; // Set the maximum size limit for the cache
        options.CompactionPercentage = 0.75; // Set the percentage of memory to free up when the cache size exceeds the limit
        options.ExpirationScanFrequency = TimeSpan.FromMinutes(5); // Set how often the cache should scan for expired items
    });
    // Other service configurations...
}

Passen Sie die Einstellungen entsprechend den Anforderungen Ihrer Anwendung an.

Diese Anweisungen helfen Ihnen, Microsoft.Extensions.Caching.Memory in Ihrer ASP.NET Core-Anwendung zu konfigurieren, damit sie durch Speichern und Abrufen häufig zugreifbarer Daten schneller und effizienter arbeitet.

Einstieg

Was ist IronPDF?

Mit der bekannten .NET-Bibliothek IronPDF können Programmierer PDF-Dokumente innerhalb von .NET-Anwendungen erstellen, bearbeiten und anzeigen. PDFs aus HTML-Inhalten, Bildern oder Rohdaten zu erstellen, ist nur eine der vielen Funktionen, die es für die Arbeit mit PDFs bietet. Weitere Funktionen umfassen das Hinzufügen von Text, Bildern und Formen zu bereits vorhandenen PDF-Dokumenten, das Konvertieren von HTML-Seiten zu PDFs sowie das Extrahieren von Text und Bildern aus PDFs.

Nachfolgend einige Funktionen von IronPDF:

  • Erstellung von PDFs aus HTML, PNGs und unrohen Daten.
  • Extraktion von Bildern und Text aus PDFs.
  • Hinzufügen von PDF-Kopf- und Fußzeilen sowie Wasserzeichen.
  • Passwortgeschützter und verschlüsselter PDF-Dokumente.
  • Ausfüllen von Formularen und digitale Signaturfunktionen.

Installieren Sie das NuGet-Paket

Stellen Sie sicher, dass das IronPDF-Paket in Ihrem Projekt installiert ist. Die NuGet-Paket-Manager-Konsole kann zur Installation verwendet werden:

PM > Install-Package IronPdf

Um auf die ConfigureServices-Funktion zuzugreifen, öffnen Sie die Startup.cs-Datei in Ihrer ASP.NET Core-Anwendung. Um IronPDF zu konfigurieren, fügen Sie den folgenden Code hinzu.

using IronPdf;
public void ConfigureServices(IServiceCollection services)
{
    // Configure IronPDF
    services.AddSingleton<HtmlToPdf>();
    // Other service configurations...
}

Durch die Konfiguration von IronPDFs HtmlToPdf-Dienst als Singleton stellt dieser Code sicher, dass die Anwendung nur eine Instanz von HtmlToPdf erstellt und verwendet.

Verwendung von Microsoft.Extensions.Caching.Memory mit IronPDF

In .NET-Anwendungen bietet Microsoft.Extensions.Caching.Memory eine praktische Möglichkeit, häufig angeforderte Daten für eine schnellere Abrufung zu speichern.

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Caching.Memory;
using System.Net;
using System.Net.Http.Headers;
using IronPdf;

namespace DemoWebApplication.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class DemoController : ControllerBase
    {
        private readonly IMemoryCache _cache;
        private readonly HtmlToPdf _htmlToPdf;
        private readonly ILogger<DemoController> _logger;

        public DemoController(ILogger<DemoController> logger, IMemoryCache cache, HtmlToPdf htmlToPdf)
        {
            _logger = logger;
            _cache = cache;
            _htmlToPdf = htmlToPdf;
        }

        [HttpGet]
        public FileContentResult Generate()
        {
            string fileName = "Sample.pdf";
            var stream = GeneratePdf("Hello IronPDF");
            return new FileContentResult(stream, "application/octet-stream")
            {
                FileDownloadName = fileName
            };
        }

        private byte[] GeneratePdf(string htmlContent)
        {
            // Object key
            string cacheKey = "GeneratedPdf";
            if (!_cache.TryGetValue(cacheKey, out byte[] pdfBytes))
            {
                // PDF not found in cache, generate it
                var pdfDocument = _htmlToPdf.RenderHtmlAsPdf(htmlContent);
                pdfBytes = pdfDocument.BinaryData;
                // Cache the generated PDF with a sliding expiration of 1 hour
                _cache.Set(cacheKey, pdfBytes, TimeSpan.FromHours(1));
            }
            return pdfBytes;
        }
    }
}

Wir importieren die für die Arbeit mit Microsoft und ASP.NET erforderlichen Namespaces Microsoft.Extensions.Caching.Memory. Wir erstellen den DemoController-Controller, der von ControllerBase abgeleitet ist. Dieser Controller wird auf Anfragen antworten, die über HTTP gesendet werden. Eine Instanz von IMemoryCache wird in den Konstruktor des Controllers injiziert.

Um die Lebensdauer von Diensten zu steuern, einschließlich des Speichercaches, bietet ASP.NET Core Abhängigkeitsinjektion. Mit dem aufgebrachten [HttpGet]-Attribut ist die Generate-Methode dafür markiert, HTTP-GET-Anfragen an den Store von der vorgesehenen Route (/Demo) zu behandeln. Wir versuchen, die PDF-Daten aus dem Cache mit dem angegebenen Cache-Schlüssel abzurufen. Wenn die Daten im Cache nicht gefunden werden, verwenden wir die GeneratePdf-Funktion, um ein neues PDF zu erstellen.

In einem Szenario mit mehreren App-Servern stellen Sie sicher, dass Sie ein verteiltes Caching für eine konsistente Cache-Verwaltung über alle Server hinweg konfigurieren.

Um Microsoft.Extensions.Caching.Memory zu verwenden, konsultieren Sie die bereitgestellte Dokumentation und den Beispielcode, um Daten zu cachen und die Leistung in ASP.NET Core-Anwendungen zu verbessern. In der Praxis können Sie die Ablaufrichtlinien, Cache-Schlüssel und das Caching-Verhalten an die Bedürfnisse Ihrer Anwendung anpassen. Das Zwischenspeichern von Daten, die teuer zu generieren sind oder häufig von mehreren Threads aufgerufen werden, kann die gesamte Benutzererfahrung verbessern und Reaktionszeiten dramatisch verkürzen.

Microsoft.Extensions.Caching.Memory Beispiel (Mit PDF) in C#: Abbildung 2 - Beispielausgabe aus dem obigen Code

Abschluss

Alles in allem kann Microsoft.Extensions.Caching.Memory genutzt werden, um die Skalierbarkeit und Leistung von .NET-Anwendungen zu erhöhen, insbesondere von Anwendungen, die auf dem ASP.NET Core-Framework basieren. Entwickler können die Benutzererfahrung verbessern, die Latenzzeit minimieren und den Datenzugriff optimieren, indem sie Speichervorgänge im Speicher nutzen. Die Bibliothek bietet eine flexible und benutzerfreundliche API zur Entwicklung von Caching-Strategien, die gezielt auf spezielle Anwendungsanforderungen ausgerichtet sind, sei es für das Caching von Referenzdaten, Abfrageergebnissen oder berechneten Werten. Sie können durch die Annahme von Caching-Best-Practices und die Einbindung von Microsoft.Extensions.Caching.Memory in Ihre .NET-Apps spürbare Geschwindigkeitssteigerungen und verbesserte Anwendungsreaktionsfähigkeit erzielen.

Durch die Nutzung der Microsoft.Extensions-Funktionen, mit Hilfe von IronPDF für die dynamische PDF-Erstellung und Caching.Memory für effektives Daten-Caching, können .NET-Entwickler die Geschwindigkeit ihrer Apps erheblich steigern. Diese potente Kombination ermöglicht es Entwicklern, einfach leistungsstarke, skalierbare und reaktionsfähige Anwendungen zu entwerfen, indem sie die Serverlast reduzieren, die Benutzererfahrung verbessern und den Verarbeitungsaufwand eliminieren.

IronPDF kann zu einem angemessenen Preis erworben werden, und der Erwerb des Pakets beinhaltet eine lebenslange Lizenz. Das Paket bietet herausragenden Wert, da es bei $999 beginnt, einer einmaligen Gebühr für mehrere Systeme. Für Benutzer mit Lizenzen bietet es rund um die Uhr Online-Ingenieurshilfe. Für weitere Details über die Kosten besuchen Sie bitte die IronPDF Licensing Page. Besuchen Sie diese Seite über Iron Software, um mehr über Produkte von Iron Software zu erfahren.

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 $