Gewusst wie: Festlegen von Ablaufzeitpunkten für das Zwischenspeichern von ASP.NET-Seiten
Aktualisiert: November 2007
Um zu veranlassen, dass dem Ausgabecache eine Seite hinzugefügt wird, legen Sie eine Ablaufrichtlinie für diese Seite fest. Dies kann sowohl deklarativ als auch programmgesteuert erfolgen.
So legen Sie Ablaufzeiten des Ausgabecaches für eine Seite deklarativ fest
Fügen Sie eine @ OutputCache-Direktive in die ASP.NET-Seite (ASPX-Datei) ein, deren Ausgabe zwischengespeichert werden soll. Legen Sie das Duration-Attribut auf einen positiven numerischen Wert fest, und legen Sie das VaryByParam-Attribut auf einen Wert fest.
Hinweis: Die @ OutputCache-Direktive legt den Cache-Control-Header standardmäßig auf Any fest.
So legt z. B. die folgende @ OutputCache-Direktive die Ablaufzeit der Seite auf 60 Sekunden fest:
<%@ OutputCache Duration="60" VaryByParam="None" %>
Hinweis: Sie müssen ein VaryByParam-Attribut einfügen, wenn Sie die @ OutputCache-Direktive verwenden. Andernfalls tritt ein Analysefehler auf. Wenn Sie die durch das VaryByParam-Attribut bereitgestellten Funktionen nicht verwenden möchten, legen Sie den Wert des Attributs auf "None" fest. Weitere Informationen finden Sie unter Zwischenspeichern mehrerer Versionen einer Seite.
So legen Sie Ablaufzeiten des Ausgabecaches für eine Seite programmgesteuert fest
Legen Sie im Code der Seite mithilfe der Cache-Eigenschaft des Response-Objekts die Ablaufrichtlinie für die Seite fest.
Hinweis: Wenn Sie die Ablaufzeiten für eine Seite programmgesteuert festlegen, müssen Sie zusätzlich den Cache-Control-Header für die zwischengespeicherte Seite festlegen. Rufen Sie dazu die SetCacheability-Methode auf, und übergeben Sie dieser Methode den HttpCacheability-Enumerationswert Public.
Im folgenden Codebeispiel wird dieselbe Zwischenspeicherungsrichtlinie festgelegt, die mithilfe der @ OutputCache-Direktive in der vorherigen Prozedur festgelegt wurde.
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60)); Response.Cache.SetCacheability(HttpCacheability.Public); Response.Cache.SetValidUntilExpires(true);
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60)) Response.Cache.SetCacheability(HttpCacheability.Public) Response.Cache.SetValidUntilExpires(True)
Wenn die Ablaufzeit einer zwischengespeicherten Seite verstrichen ist, wird die Antwort auf die nächste Anforderung der Seite dynamisch erstellt. Diese Antwortseite wird erneut für die angegebene Dauer zwischengespeichert.
Siehe auch
Aufgaben
Gewusst wie: Deklaratives Festlegen der Cachefähigkeit einer ASP.NET-Seite
Gewusst wie: Programmgesteuertes Festlegen der Cachefähigkeit einer Seite