Freigeben über


HttpCacheVaryByContentEncodings Klasse

Definition

Bietet eine typsichere Methode, um die VaryByContentEncodings-Eigenschaft der HttpCachePolicy-Klasse festzulegen.

public ref class HttpCacheVaryByContentEncodings sealed
public sealed class HttpCacheVaryByContentEncodings
type HttpCacheVaryByContentEncodings = class
Public NotInheritable Class HttpCacheVaryByContentEncodings
Vererbung
HttpCacheVaryByContentEncodings

Beispiele

Das folgende Beispiel zeigt, wie Sie eine dynamisch komprimierte Antwort aktivieren, die vom Ausgabecache bereitgestellt werden kann. Die Codierung, die akzeptabel ist, ist "gzip" und wird mithilfe VaryByContentEncodings des Attributs der @ OutputCache Direktive festgelegt. Wenn der Webserver, auf dem die Seite gehostet wird, keine dynamische Komprimierung aktiviert ist, verfügt der Ausgabecache nicht über eine zwischengespeicherte Antwort für die angegebene Inhaltscodierung.

<%@ Page Language="C#" %>
<%@ OutputCache VaryByParam="none" Duration="10" VaryByContentEncodings="gzip" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Varying Output Cache By Content Encoding</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <%= DateTime.Now.ToString() %>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ OutputCache VaryByParam="none" Duration="10" VaryByContentEncodings="gzip" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Varying Output Cache By Content Encoding</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <%= DateTime.Now.ToString() %>
    </div>
    </form>
</body>
</html>

Hinweise

Die VaryByContentEncodings Eigenschaft wird verwendet, um anzugeben, ob dynamisch komprimierte Antworten zwischengespeichert werden. Das Zwischenspeichern dynamisch komprimierter Antworten bedeutet, dass die Komprimierungskosten nur einmal anfallen, während der ersten Anforderung für die Ressource (oder nach einem Anwendungsneustart) und beim Ablauf des Cacheelements.

Die VaryByContentEncodings Eigenschaft der HttpCachePolicy Klasse identifiziert, welche Anforderungsheaderparameter ASP.NET verwendet, um eine Variation der Antwort eindeutig zu identifizieren, wenn mehrere zwischengespeicherte Antworten für eine Ressource vorhanden sind. Dies ist nützlich, wenn eine Antwort von einer Reihe von Clienteingaben abhängt, z. B. Header, Parameter oder Inhaltscodierungen.

Die HttpCacheVaryByContentEncodings Klasse ist nicht direkt mit HTTP-Cachesteuerelement-Headern verknüpft. Es hilft jedoch, sicherzustellen, dass eine Antwort auf einen Client oder einen Proxy von der angegebenen Inhaltscodierung variiert. Durch Festlegen des Caches, der je nach Inhaltscodierung variieren soll, können ASP.NET die Antwort nach der Accept-Encoding Kopfzeile variieren. Wenn eine Anforderung verarbeitet wird, wird der Accept-Encoding Header überprüft, und die erste zulässige Codierung wird identifiziert und verwendet, um eine der folgenden Aktionen auszuführen:

  • Wenn eine übereinstimmende Codierung auch in der VaryByContentEncodings Liste gefunden wird und eine zwischengespeicherte Antwort vorhanden ist, wird die zwischengespeicherte Antwort gesendet.

  • Wenn eine übereinstimmende Codierung auch in der VaryByContentEncodings Liste gefunden wird, aber eine zwischengespeicherte Antwort nicht vorhanden ist, wird eine Antwort generiert und in den Cache eingefügt.

  • Wenn eine übereinstimmende Codierung in der VaryByContentEncodings Liste nicht gefunden wird, wird der Cache nach einer nicht codierten Antwort gesucht, auch als Identitätsantwort bezeichnet. Wenn die Identitätsantwort gefunden wird, wird sie gesendet. Andernfalls wird eine neue nicht codierte Antwort generiert und im Cache gespeichert.

Weitere Informationen zur VaryByContentEncodings Eigenschaft finden Sie auf der Website des World Wide Web Consortium (W3C) unter RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1. Ausführliche Informationen finden Sie unter Abschnitt 14, "Kopfzeilenfelddefinitionen".

Sie können die VaryByContentEncodings Eigenschaft mithilfe der @ OutputCache Direktive festlegen oder ein Profil zum outputCacheProfile Element in der Web.config-Datei hinzufügen.

Konstruktoren

HttpCacheVaryByContentEncodings()

Initialisiert eine neue Instanz der HttpCacheVaryByContentEncodings-Klasse.

Eigenschaften

Item[String]

Ruft einen Wert ab, der angibt, ob der Cache je nach der angegebenen Inhaltscodierung geändert wird, oder legt diesen fest.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetContentEncodings()

Ruft ein Array von Werten ab, die die Inhaltscodierungen angeben, die zum Variieren des Cache verwendet werden sollen.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
SetContentEncodings(String[])

Legt ein Array von Werten fest, die die Inhaltscodierungen angeben, die zum Variieren des Cache verwendet werden sollen.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für

Siehe auch