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

NiPoGi AM06 PRO Mini PC: Perfekte Kombination aus Leistung, Flexibilität und Portabilität

Kostengünstiger Mini-PC mit AMD Ryzen 7 5825U-Prozessor, 16 GB Arbeitsspeicher (RAM) und 512 GB SSD.

5 Stunden ago

Black Friday: Vorsicht vor schädlichen QR-Codes

Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.

3 Tagen ago

Black Friday: Zahl der ominösen Shopping-Websites steigt

Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.

3 Tagen ago

SmokeBuster bekämpft SmokeLoader

Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.

3 Tagen ago

Taugen Kryptowährungen als Unterstützer der Energiewende?

Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.

4 Tagen ago

Supercomputer-Ranking: El Capitan überholt Frontier und Aurora

Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…

4 Tagen ago