Zwischenspeichern mehrerer Versionen einer Seite

Aktualisiert: November 2007

Gelegentlich möchten Sie möglicherweise eine Seite zwischenspeichern, von der jedoch abhängig von der Anforderung verschiedene Versionen erstellt werden. So könnte die Seite zum Beispiel abhängig von den Werten, die in der Abfragezeichenfolge übergeben werden, unterschiedliche Ausgaben erzeugen.

In ASP.NET können Sie mehrere Versionen der gleichen Seite im Ausgabecache zwischenspeichern. Der Ausgabecache kann durch Änderungen an folgenden Parametern variiert werden:

  • Die Abfragezeichenfolge in einer ursprünglichen Anforderung (HTTP-GET-Anforderung).

  • Steuerungswerte, die beim Postback übergeben werden (HTTP-POST-Werte).

  • Die HTTP-Header, die bei einer Anforderung übertragen werden.

  • Die Hauptversionsnummer des Browsers, der die Anforderung stellt.

  • Eine benutzerdefinierte Zeichenfolge auf der Seite. In diesem Fall erstellen Sie benutzerdefinierten Code in der Datei Global.asax, um das Cachingverhalten der Seite festzulegen.

Sie können mehrere Versionen einer Seitenausgabe deklarativ zwischenspeichern, indem Sie die Attribute der @ OutputCache-Direktive verwenden. Alternativ kann das Zwischenspeichern auch programmgesteuert mithilfe der Eigenschaften und Methoden der HttpCachePolicy-Klasse erfolgen.

Die @ OutputCache-Direktive enthält vier Attribute, mithilfe derer Sie mehrere Versionen der Seitenausgabe zwischenspeichern können:

  • Mit dem VaryByParam-Attribut können Sie die zwischengespeicherte Ausgabe in Abhängigkeit von der Abfragezeichenfolge variieren.

  • Mit dem VaryByControl-Attribut können Sie die zwischengespeicherte Ausgabe in Abhängigkeit von einem Steuerelementwert variieren.

  • Mit dem VaryByHeader-Attribut können Sie die zwischengespeicherte Ausgabe in Abhängigkeit vom HTTP-Header der Anforderung variieren.

  • Mit dem VaryByCustom-Attribut können Sie die zwischengespeicherte Ausgabe in Abhängigkeit vom Browsertyp oder von einer benutzerdefinierten Zeichenfolge variieren.

    Hinweis:

    Jede @ OutputCache-Direktive muss entweder das VaryByParam-Attribut oder das VaryByControl-Attribut beinhalten. Wenn die zwischengespeicherte Ausgabe nicht in Abhängigkeit von einem Steuerelement oder von Parametern variiert werden muss, können Sie VaryByParam auf den Wert None festlegen.

Die HttpCachePolicy-Klasse stellt zwei Eigenschaften und eine Methode bereit, mithilfe derer Sie dieselben Cachekonfigurationen programmgesteuert festlegen können, die auch deklarativ festgelegt werden können. Mithilfe der VaryByParams-Eigenschaft und der VaryByHeaders-Eigenschaft können Sie die Namen der Abfragezeichenfolgenparameter und der Header angeben, die die Änderung der Cacherichtlinie steuern sollen. Mithilfe der SetVaryByCustom-Methode können Sie benutzerdefinierte Zeichenfolgen definieren, durch die der Ausgabecache variiert wird.

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 des anfordernden Browsers

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