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.
Stellt eine typsichere Methode zum Festlegen der VaryByContentEncodings Eigenschaft der HttpCachePolicy Klasse bereit.
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 aus dem 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 dynamische Zwischenspeichern von dynamisch komprimierten Antworten bedeutet, dass die Komprimierungskosten nur einmal anfallen, während der ersten Anforderung für die Ressource (oder nach einem Anwendungsneustart) und wann das Cacheelement abläuft.
Die VaryByContentEncodings Eigenschaft der HttpCachePolicy Klasse identifiziert, welche Anforderungsheaderparameter ASP.NET verwendet werden, 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 wie Headern, Parametern oder Inhaltscodierungen abhängt.
Die HttpCacheVaryByContentEncodings Klasse bezieht sich nicht direkt auf HTTP-Cache-Steuerelementheader. Es hilft jedoch sicherzustellen, dass eine Antwort auf einen Client oder einen Proxy je nach der angegebenen Inhaltscodierung variiert. Das Festlegen des Caches, der je nach Inhaltscodierung variieren soll, ermöglicht ASP.NET, die Antwort vom Accept-Encoding Header zu 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 in der VaryByContentEncodings Liste auch eine übereinstimmende Codierung gefunden wird und eine zwischengespeicherte Antwort vorhanden ist, wird die zwischengespeicherte Antwort gesendet.
Wenn in der VaryByContentEncodings Liste auch eine übereinstimmende Codierung gefunden wird, aber keine zwischengespeicherte Antwort vorhanden ist, wird eine Antwort generiert und in den Cache eingefügt.
Wenn in der VaryByContentEncodings Liste keine übereinstimmende Codierung gefunden wird, wird der Cache nach einer nicht codierten Antwort gesucht, die auch als Identitätsantwort bezeichnet wird. 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 unter RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1, verfügbar auf der World Wide Web Consortium (W3C)-Website. Ausführliche Informationen finden Sie in Abschnitt 14, "Header Field Definitions".
Sie können die Eigenschaft mithilfe der VaryByContentEncodings@ OutputCache Direktive oder durch Hinzufügen eines Profils zum outputCacheProfile Element in der Web.config Datei festlegen.
Konstruktoren
| Name | Beschreibung |
|---|---|
| HttpCacheVaryByContentEncodings() |
Initialisiert eine neue Instanz der HttpCacheVaryByContentEncodings-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Item[String] |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Cache je nach der angegebenen Inhaltscodierung variiert. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetContentEncodings() |
Ruft ein Array von Werten ab, die die inhaltscodierungen angeben, die für unterschiedliche Cache verwendet werden sollen. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| SetContentEncodings(String[]) |
Legt ein Array von Werten fest, mit dem die Inhaltscodierungen angegeben werden, die für unterschiedliche Cachewerte verwendet werden sollen. |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |