Cachekonfiguration in ASP.NET
Aktualisiert: November 2007
ASP.NET bietet eine Reihe von Optionen zum Konfigurieren der Seitenausgabe-Zwischenspeicherung und der Cache-API. Der Seitenausgabecache dient der Zwischenspeicherung von Antworten auf eine Seitenanforderung nach deren Verarbeitung. Die Cache-API dient der programmgesteuerten Zwischenspeicherung von Anwendungsdaten. Weitere Informationen hierzu finden Sie unter Übersicht über das Zwischenspeichern in ASP.NET.
Seitenausgabecache-Konfiguration
Sie können den Seitenausgabecache an folgenden Orten konfigurieren:
Konfigurationsdateien Sie können die Seitenausgabecache-Einstellungen in jeder Konfigurationsdatei der Anwendungskonfigurationshierarchie konfigurieren. Dazu gehören auch die Datei Machine.config (für Einstellungen, die alle Webanwendungen auf einem Computer betreffen) und die anwendungsspezifische Datei Web.config (für Einstellungen, die eine einzelne Anwendung betreffen).
Einzelne Seiten Sie können Zwischenspeicherungsoptionen entweder deklarativ oder programmgesteuert in den einzelnen Seiten festlegen. Sie können auch in der Konfigurationsdatei erstellte Cacheprofile auf einzelne Seiten anwenden.
Benutzersteuerelemente Sie können Zwischenspeicherung entweder deklarativ oder programmgesteuert in den einzelnen Benutzersteuerelementen festlegen. Dies stellt eine einfache Möglichkeit dar, den Inhalt in einer Seite zwischenzuspeichern, der andernfalls nicht zwischengespeichert würde.
Cachekonfigurationseinstellungen in der Datei Web.config
Die Datei Web.config enthält zwei Konfigurationsabschnitte oberster Ebene für den Seitenausgabecache: OutputCacheSection und OutputCacheSettingsSection.
Der OutputCacheSection-Abschnitt wird zum Konfigurieren anwendungsweiter Einstellungen verwendet, zum Beispiel zum Aktivieren der Seitenausgabe-Zwischenspeicherung. Sie können beispielsweise die Seitenausgabe-Zwischenspeicherung für die gesamte Anwendung deaktivieren, indem Sie dem OutputCacheSection in der Datei Web.config enableOutputCache="false" hinzufügen. Die Einstellungen in der Konfigurationsdatei haben Vorrang vor den Cacheeinstellungen der einzelnen Seiten. Die Einstellung im Beispiel hat also zur Folge, dass der Ausgabecache nicht verwendet wird.
Im OutputCacheSettingsSection-Abschnitt werden Profile und Abhängigkeiten konfiguriert, die von einzelnen Seiten verwendet werden können. Im folgenden Code wird z. B. ein OutputCacheProfile mit dem Namen CacheProfile1 erstellt, das die implementierende Seite 60 Sekunden lang zwischenspeichert:
<outputCacheSettings>
<outputCacheProfiles>
<add name="CacheProfile1" duration="60" />
</outputCacheProfiles>
</outputCacheSettings>
Cachekonfigurationseinstellungen in der Datei Machine.config
Die Konfigurationsabschnitte in der Datei Machine.config sind die gleichen wie in der Datei Web.config, mit dem Unterschied, dass sich die Konfigurationseinstellungen in der Datei Machine.config sperren lassen und damit nicht von einzelnen Anwendungen – egal auf welcher Ebene – überschrieben werden können. Dies kann z. B. in einem Szenario mit gemeinsamen Hosting nützlich sein, bei dem der Hostanbieter eine Änderung der Cachekonfiguration durch die einzelnen Anwendungen verhindern möchte. Weitere Informationen finden Sie unter Gewusst wie: Sperren von ASP.NET-Konfigurationseinstellungen.
Seitencache-Konfigurationseinstellungen
Sie können das Zwischenspeichern in einzelnen Seiten konfigurieren, indem Sie Cacheprofile anwenden, die in einer Konfigurationsdatei definiert wurden. Sie können aber auch einzelne Cacheeigenschaften konfigurieren, und zwar entweder in der @ OutputCache-Direktive oder durch das Festlegen von Attributen in der Klassendefinition der Seite. Weitere Informationen finden Sie unter @ OutputCache und Festlegen der Cachefähigkeit einer Seite.
Benutzersteuerelementcache-Konfigurationseinstellungen
Sie können die Zwischenspeicherung des Benutzersteuerelements konfigurieren, indem Sie die @ OutputCache-Direktive in der Datei des Benutzersteuerelements oder das PartialCachingAttribute-Attribut in der Klassendefinition des Steuerelements festlegen. Weitere Informationen finden Sie unter Zwischenspeichern von Teilen einer ASP.NET-Seite.
Cache-API-Konfigurationseinstellungen
Sie können die Cache-API der Anwendung in der Datei Web.config konfigurieren. Genauso wie auch beim Seitenausgabecache können Anwendungshostinganbieter die Konfigurationseigenschaften in der Datei Machine.config festlegen und die Cachekonfigurationseinstellungen für alle Anwendungen sperren. Die Anwendungscache-API wird im CacheSection-Abschnitt konfiguriert. Sie können z. B. das Elementablaufdatum mit folgendem Konfigurationselement deaktivieren:
<cache disableExpiration="true" />
Sie können auch andere Anwendungscache-API-Konfigurationseinstellungen angeben, indem Sie Attributen wie dem DisableExpiration-Attribut und dem DisableMemoryCollection-Attribut im CacheSection-Abschnitt der Konfigurationsdatei Werte zuweisen.
Siehe auch
Konzepte
Übersicht über das Zwischenspeichern in ASP.NET
Zwischenspeichern von ASP.NET-Seiten
Zwischenspeichern von Anwendungsdaten
Übersicht über die ASP.NET-Konfiguration