Freigeben über


Gewusst wie: Zwischenspeichern von Versionen einer Seite mithilfe des anfordernden Browsers

Aktualisiert: November 2007

Wenn die Webanwendung eine Seite enthält, die in Abhängigkeit vom anfordernden Browser eine jeweils andere Ausgabe erstellt, können Sie die verschiedenen Versionen der Seitenausgabe anhand der Hauptversion des die Seite anfordernden Browsers zwischenspeichern. Wenn z. B. Internet Explorer 6 eine Seite anfordert, wird eine Version der Seite zwischengespeichert. Wenn ein Browser wie Netscape Navigator, eine andere Version von Internet Explorer oder ein beliebiger anderer Browser die Seite anfordert, wird eine andere Seitenversion in den Ausgabecache geladen.

Hinweis:

Die Informationen zu Hauptversion und Typ des Browsers werden in der aktuellen Anforderung über die MajorVersion-Eigenschaft des HttpBrowserCapabilities-Objekts übergeben. Weitere Informationen finden Sie unter Gewusst wie: Erkennen von Browsertypen auf ASP.NET-Webseiten.

So werden mehrere Versionen einer Seite deklarativ anhand des Browsertyps zwischengespeichert

  1. Fügen Sie der ASP.NET-Seite eine @ OutputCache-Direktive mit den erforderlichen Attributen Duration und VaryByParam oder VaryByControl hinzu. Das Duration-Attribut muss auf eine ganze Zahl größer als 0 festgelegt werden. Wenn Sie nur nach Browsertyp zwischenspeichern möchten, legen Sie das VaryByParam-Attribut auf "Keine" fest.

  2. Fügen Sie der @ OutputCache-Direktive das VaryByCustom-Attribut hinzu, und legen Sie es auf "Browser" fest.

    Im folgenden Beispiel wird die Seite 10 Sekunden lang zwischengespeichert. Die Ausgabe ändert sich je nach Browsertyp.

    <%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="browser" %>
    

So werden mehrere Versionen einer Seite anhand des Browsertyps programmgesteuert zwischengespeichert.

  1. Rufen Sie im Seitencode die SetExpires-Methode und die SetCacheability-Methode für die Cache-Eigenschaft der Response-Eigenschaft der Seite auf.

  2. Rufen Sie die SetVaryByCustom-Methode auf, und übergeben Sie den Wert "browser" im custom-Parameter.

    Im folgenden Codebeispiel wird gezeigt, wie mehrere Versionen einer Seite eine Minute lang zwischengespeichert werden. Die Ausgabe ändert sich je nach Typ des Browsers, der die Seite anfordert.

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Cache.SetExpires(DateTime.Now.AddMinutes(1d));
        Response.Cache.SetCacheability(HttpCacheability.Public);
        Response.Cache.SetValidUntilExpires(true);
        Response.Cache.SetVaryByCustom("browser");
    }
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.Cache.SetExpires(DateTime.Now.AddMinutes(1.0))
        Response.Cache.SetCacheability(HttpCacheability.Public)
        Response.Cache.SetValidUntilExpires(True)
        Response.Cache.SetVaryByCustom("browser")
    End Sub
    

Siehe auch

Aufgaben

Gewusst wie: Deklaratives Festlegen der Cachefähigkeit einer ASP.NET-Seite

Gewusst wie: Programmgesteuertes Festlegen der Cachefähigkeit einer Seite

Gewusst wie: Zwischenspeichern von Versionen einer Seite mithilfe von Parametern

Gewusst wie: Zwischenspeichern verschiedener Versionen einer Seite nach HTML-Headerwerten

Gewusst wie: Zwischenspeichern von Versionen einer Seite mithilfe von benutzerdefinierten Zeichenfolgen

Konzepte

Zwischenspeichern von ASP.NET-Seiten

Festlegen der Cachefähigkeit einer Seite

Zwischenspeichern mehrerer Versionen einer Seite