HttpCacheVaryByContentEncodings Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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) |