Categories: Software

Eine schnellere Website mit ASP.NET-Caching

Das Zwischenspeichern (Caching) von häufig verwendeten Webseiten-Daten hilft, die Performance-Werte von Webanwendungen positiv zu beeinflussen. ASP.NET bietet Caching-Möglichkeiten, die sich leicht in Anwendungen einbinden lassen und deren Performance steigern.

Unter ASP.NET 1.x gibt es drei Möglichkeiten, Caching in Web-Anwendungen einzusetzen:

  • Page Output Caching: Die dynamisch erzeugten Webinhalte werden zwischengespeichert.

  • Page Fragment Caching: Teile der Webseite werden zwischengespeichert.

  • Page Data Caching: Anhand eines Programms werden Daten/Objekte einer Webseite zwischengespeichert.

Dieser Artikel befasst sich mit dem Page Output Caching.

Page Output Caching

Output Caching kann eingesetzt werden, wenn die Inhalte einer Seite relativ statisch sind und diese zwischengespeichert werden kann. Das Zwischenspeichern häufig genutzter Seiten resultiert oft in einer bedeutenden Geschwindigkeitszunahme. Dabei werden die Seitenanfragen zunächst dynamisch generiert, und alle späteren Anfragen werden über den Cache bedient. Bei viel genutzten Anwendungen ergibt sich so eine enorme Performance-Steigerung.

Der Hauptaspekt beim Zwischenspeichern einer Seite ist das Ablaufdatum. Es gibt an, wie lange Inhalte im Cache verbleiben, bevor sie erneut von der ursprünglichen Quelle abgerufen werden. Das Ablaufdatum kann über den Code oder über die OutputCache-Direktive auf Seitenebene aufgerufen werden. Es schließt den Duration-Parameter mit ein, der bestimmt, wie lange ein Seitenbestandteil im Cache bleibt (in Sekunden). Neben Duration umfasst die OutputCache-Direktive die folgenden Attibute:

  • Location:
    Der Platz des Zwischenspeichers. Die gültigen Werte sind: Any, Client, Downstream, None, Server und ServerAndClient. Der voreingestellte Wert ist Any.
  • CacheProfile:
    Die Bezeichnung der Cache-Einstellungen, die mit einer bestimmten Seite verbunden sind. Es handelt sich um ein optionales Element ohne voreingestellten Wert.
  • NoStore:
    Ein Bool’scher Wert, der anzeigt, ob eine weitere Speicherung sensibler Daten unterbunden werden soll.
  • Shared:
    Ein Bool’scher Wert, der bestimmt, ob Benutzersteuerelemente auf mehreren Seiten eingesetzt werden können
  • VaryByCustom:
    Jeder Text, der Bedingungen für benutzerdefiniertes Caching von Ausgabewerten darstellt.
  • VaryByHeader:
    Eine durch Semikola getrennte Liste von HTTP-Headern, die zur Variation des Output-Caches verwendet werden.
  • VaryByParam:
    eine durch Semikola getrennte Liste von Strings, die zur Variation des Output-Caches verwendet werden.

Die am häufigsten verwendeten Schlüsselelemente sind Duration und VaryByParam, mit dem man auf Basis von Parametern verschiedene Caches auf Seitenebene einrichten kann.

Diese Parameter korrespondieren mit Querystring-Werten, die mit HTTP GET-Anfragen versandt wurden, oder mit HTTP POST-Anfragen versandten Formularparametern. Wenn dieses Attribut auf Verwendung mehrerer Parameter gesetzt ist, enthält das Output-Cache für jede Kombination der verwendeten Parameter eine unterschiedliche Version des abgefragten Dokuments. Mögliche Werte sind Keine, ein Asterisk(*) und jeder Name eines gültigen Querystrings oder eines POST-Parameters.

Listing A Enthält ein einfaches Beispiel für Caching auf Seitenebene mit einer C#-Seite, die Mitarbeiterdaten aus der altehrwürdigen Northwind-SQL-Server-Datenbank lädt. Die Daten sind relativ statisch, bleiben also fünf Minuten lang im Cache. Listing B enthält den entsprechenden VB.NET-Code.

Listing A

Listing B

Page: 1 2

ZDNet.de Redaktion

Recent Posts

KI-gestütztes Programmieren bringt IT-Herausforderungen mit sich

OutSystems-Studie: 62 Prozent der Befragten haben Sicherheits- und Governance-Bedenken bei Softwareentwicklung mit KI-Unterstützung.

3 Tagen ago

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

6 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

7 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

1 Woche ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

1 Woche ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

1 Woche ago