outputCache-Element für caching (ASP.NET-Einstellungsschema)

Gibt die Ausgabecacheeinstellungen an, die die gesamte Anwendung betreffen.

<outputCache enableOutputCache="true|false" 
             enableFragmentCache="true|false" 
             sendCacheControlHeader="true|false" 
             omitVaryStar="true|false"
             defaultProvider="AspNetInternalProvider">
</outputCache>

Attribute und Elemente

In den folgenden Abschnitten werden Attribute, untergeordnete Elemente und übergeordnete Elemente beschrieben.

Attribute

Attribute

Beschreibungen

enableOutputCache

Optionales Boolean-Attribut.

Aktiviert/deaktiviert den Seitenausgabecache.

Wenn der Cache deaktiviert ist, erfolgt keine Zwischenspeicherung der Seiten, unabhängig von den programmgesteuerten und deklarativen Einstellungen.

Der Standardwert ist true.

enableFragmentCache

Optionales Boolean-Attribut.

Aktiviert/deaktiviert den Anwendungsfragmentcache.

Wenn der Cache deaktiviert ist, erfolgt keine Zwischenspeicherung der Seiten, unabhängig von der verwendeten @ OutputCache-Direktive oder dem verwendeten Zwischenspeicherungsprofil. Enthält einen Cache-Control-Header, der angibt, dass weder Upstream-Proxyserver noch Browserclients versuchen sollten, die Seitenausgabe zwischenzuspeichern.

Der Standardwert ist false.

sendCacheControlHeader

Optionales Boolean-Attribut.

Ruft einen Wert ab, der angibt, ob der cache-control:private-Header vom Ausgabecachemodul standardmäßig gesendet wird, oder legt diesen fest.

Der Standardwert ist false.

omitVaryStar

Optionales Boolean-Attribut.

Aktiviert/deaktiviert das Senden eines "Vary: *"-HTTP-Headers in der Antwort. Mit der Standardeinstellung false wird ein "Vary: *"-Header für die Seiten im Ausgabecache gesendet.

Der Standardwert ist false.

defaultProvider

Optionales Zeichenfolgenattribut.

Ruft den standardmäßigen Ausgabecacheanbieter ab oder legt ihn fest.

Der Standardwert ist "AspNetInternalProvider". Dies ist der von ASP.NET bereitgestellte Cache im Arbeitsspeicher.

Untergeordnete Elemente

Element

Beschreibungen

providers

Ein optionales untergeordnetes Element, das verwendet werden kann, um benutzerdefinierte Ausgabecacheanbieter zu konfigurieren.

Übergeordnete Elemente

Element

Beschreibungen

configuration

Das erforderliche Stammelement jeder Konfigurationsdatei, die von der Common Language Runtime und den .NET Framework-Anwendungen verwendet wird.

system.web

Gibt das Stammelement für die ASP.NET-Konfigurationseinstellungen einer Konfigurationsdatei an. Enthält Konfigurationselemente, die ASP.NET-Webanwendungen konfigurieren und das Verhalten der Anwendungen steuern.

caching

Konfiguriert die Cacheeinstellungen für eine Webanwendung.

Hinweise

Standardkonfiguration

Das folgende outputCache-Standardelement wird nicht explizit in der Computerkonfigurationsdatei oder Web.config-Stammdatei konfiguriert, sondern stellt die von einer Anwendung in .NET Framework, Version 2.0, zurückgegebene Standardkonfiguration dar.

<outputCache enableOutputCache = "true" 
             enableFragmentCache = "true" 
             sendCacheControlHeader = "true" 
             omitVaryStar = "false"
             defaultProvider="AspNetInternalProvider">
</outputCache>

Das folgende Beispiel zeigt, wie Sie den Ausgabecache für eine ASP.NET-Anwendung deaktivieren:

<outputCache enableOutputCache="false" />

Erweiterbares Ausgabecaching

ASP.NET ermöglicht das Erweitern der Ausgabezwischenspeicherung und die Konfiguration eines oder mehrerer benutzerdefinierter Ausgabecacheanbieter. Ausgabecacheanbieter können HTML-Inhalte mithilfe eines beliebigen Speichermechanismus beibehalten. Diese Speicheroptionen können lokale oder Remotedatenträger, Wolkenspeicher und verteilte Cachemodule einschließen.

Mithilfe der Erweiterbarkeit für Ausgabecacheanbieter können Sie aggressivere und intelligentere Strategien für die Ausgabezwischenspeicherung von Websites entwickeln. Sie können z. B. einen Ausgabecacheanbieter erstellen, der die "Top 10"-Seiten einer Site im Arbeitsspeicher zwischenspeichert, während Seiten mit niedrigerem Datenverkehr auf dem Datenträger gespeichert werden. Alternativ können Sie jede beliebige Kombination für eine gerenderte Seite zwischenspeichern, jedoch einen verteilten Cache verwenden, damit die Arbeitsspeichernutzung auf den Front-End-Webservern reduziert wird.

Sie erstellen einen benutzerdefinierten Ausgabecacheanbieter als Klasse, die sich vom OutputCacheProvider-Typ ableitet. Sie können dann den Anbieter in der Web.config-Datei mit dem providers-Unterabschnitt des outputCache -Elements konfigurieren.

Standardmäßig verwenden in ASP.NET alle HTTP-Antworten, gerenderten Seiten und Steuerelemente den im vorherigen Beispiel veranschaulichten Ausgabecache im Arbeitsspeicher (das defaultProvider-Attribut ist auf AspNetInternalProvider festgelegt). Sie können den für eine Webanwendung verwendeten standardmäßigen Ausgabecacheanbieter ändern, indem Sie für defaultProvider einen anderen Anbieternamen angeben.

Außerdem können Sie andere Ausgabecacheanbieter für einzelne Steuerelemente und einzelne Anforderungen auswählen. Die einfachste Möglichkeit, einen anderen Ausgabecacheanbieter für andere Webbenutzersteuerelemente anzugeben, besteht darin, dies deklarativ mit dem providerName-Attribut in einer Page- oder Steuerdirektive zu tun, wie im folgenden Beispiel dargestellt:

<%@ OutputCache Duration="60" VaryByParam="None" 
    providerName="DiskCache" %>

Sie können für eine HTTP-Anforderung einen anderen Ausgabecacheanbieter angeben und die neue GetOutputCacheProviderName-Methode in der Datei "Global.asax" überschreiben, um programmgesteuert anzugeben, welcher Anbieter für eine bestimmte Anforderung verwendet werden soll.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Verwenden der Ausgabecachefunktion zur Verbesserung der Websiteleistung

Gewusst wie: Sperren von ASP.NET-Konfigurationseinstellungen

Referenz

OutputCache

Konzepte

Übersicht über das Zwischenspeichern in ASP.NET

Absichern der ASP.NET-Konfiguration

ASP.NET-Konfigurationsszenarios

Weitere Ressourcen

ASP.NET-Websiteverwaltung