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:
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:
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
OutSystems-Studie: 62 Prozent der Befragten haben Sicherheits- und Governance-Bedenken bei Softwareentwicklung mit KI-Unterstützung.
Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…
Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…
Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.
Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…
Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…