Freigeben über


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

Konzepte

Zwischenspeichern von ASP.NET-Seiten

Festlegen der Cachefähigkeit einer Seite