HttpCachePolicy.VaryByContentEncodings HttpCachePolicy.VaryByContentEncodings HttpCachePolicy.VaryByContentEncodings HttpCachePolicy.VaryByContentEncodings Property

Definition

Ruft die Liste der Content-Encoding-Header ab, mit denen der Ausgabecache variiert wird.Gets the list of Content-Encoding headers that will be used to vary the output cache.

public:
 property System::Web::HttpCacheVaryByContentEncodings ^ VaryByContentEncodings { System::Web::HttpCacheVaryByContentEncodings ^ get(); };
public System.Web.HttpCacheVaryByContentEncodings VaryByContentEncodings { get; }
member this.VaryByContentEncodings : System.Web.HttpCacheVaryByContentEncodings
Public ReadOnly Property VaryByContentEncodings As HttpCacheVaryByContentEncodings

Eigenschaftswert

Ein Objekt, das angibt, welche Content-Encoding-Header zur Auswahl der zwischengespeicherten Antwort verwendet werden.An object that specifies which Content-Encoding headers are used to select the cached response.

Beispiele

Im folgenden Beispiel wird gezeigt, wie eine dynamisch komprimierte Antwort aktiviert wird, damit eine Seite aus dem Ausgabe Cache bereitgestellt wird.The following example shows how to enable a dynamically compressed response for a page to be served from the output cache. Die zulässige Codierung ist "gzip" und wird mithilfe des VaryByContentEncodings -Attributs der @ OutputCache -Direktive festgelegt.The encoding that is acceptable is "gzip" and is set by using the VaryByContentEncodings attribute of the @ OutputCache directive. Wenn für den Webserver, auf dem die Seite gehostet wird, keine dynamische Komprimierung aktiviert ist, verfügt der Ausgabe Cache nicht über eine zwischengespeicherte Antwort, die auf der angegebenen Inhalts Codierung basiert.If the Web server that is hosting the page does not have dynamic compression enabled, the output cache will not have a cached response that is based on the specified content encoding.

<%@ 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 gibt eine Liste der Content-Encoding-Header zurück, die Komprimierungs Schemas darstellen, um den Ausgabe Cache zu variieren.The VaryByContentEncodings property returns a list of Content-Encoding headers that represent compression schemes to vary the output cache by. Das Zwischenspeichern dynamisch komprimierter Antworten bedeutet, dass die Komprimierungs Kosten nur einmal während der ersten Anforderung für die Ressource anfallen.Caching dynamically compressed responses means that the cost of compression is incurred only one time, during the first request for the resource.

Die VaryByContentEncodings -Eigenschaft wird zusammen mit Accept-Encoding dem-Header einer Anforderung verwendet, um zu bestimmen, wie zwischengespeicherte Antworten für verschiedene Inhalts Codierungen bereitgestellt werden, die dynamisch komprimiert werden.The VaryByContentEncodings property is used with the Accept-Encoding header of a request to determine how to serve cached responses for different content encodings that are dynamically compressed. Der Accept-Encoding-Header listet die Codierungen auf, die der Client dekomprimieren kann.The Accept-Encoding header lists the encodings that the client can decompress.

Wenn Sie den Cache so festlegen, dass er von der Inhalts Codierung variiert, kann die Antwort indirekt durch den Wert Accept-Encoding im Header variieren.When you set the cache to vary by content encoding, it lets the response vary indirectly by the value in the Accept-Encoding header. Wenn eine Anforderung verarbeitet wird, wird Accept-Encoding der Header geprüft, und die erste akzeptable Codierung wird identifiziert und verwendet, um eine der folgenden Aktionen auszuführen:When a request is processed, the Accept-Encoding header is checked and the first acceptable encoding is identified and used to take one of the following actions:

  • Wenn eine übereinstimmende Codierung in der VaryByContentEncodings Liste gefunden wird und eine zwischengespeicherte Antwort vorhanden ist, wird die zwischengespeicherte Antwort gesendet.If a matching encoding is found in the VaryByContentEncodings list and a cached response exists, the cached response is sent.

  • Wenn eine übereinstimmende Codierung in der VaryByContentEncodings Liste gefunden wird, aber keine zwischengespeicherte Antwort vorhanden ist, wird eine Antwort generiert und in den Cache eingefügt.If a matching encoding is found in the VaryByContentEncodings list but a cached response does not exist, a response is generated and inserted into the cache.

  • Wenn keine übereinstimmende Codierung in der VaryByContentEncodings Liste gefunden wird, wird der Cache nach einer nicht codierten Antwort durchsucht, die auch als Identitäts Antwort bezeichnet wird.If a matching encoding is not found in the VaryByContentEncodings list, the cache is searched for a non-encoded response, also referred to as the identity response. Wenn die nicht codierte Antwort gefunden wird, wird Sie gesendet.If the non-encoded response is found, it is sent. Andernfalls wird eine neue nicht codierte Antwort generiert, gesendet und im Cache gespeichert.Otherwise, a new non-encoded response is generated, sent, and stored in the cache.

Weitere Informationen VaryByContentEncodings zur-Eigenschaft finden Sie unter RFC 2616: Hypertext Transfer Protocol--HTTP/1.1, "auf der World Wide Web Consortium-Website (W3C)verfügbar.For more information about the VaryByContentEncodings property, see "RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1," which is available on the World Wide Web Consortium (W3C) Web site. Informationen zu Inhalts Codierungen finden Sie in Abschnitt 14, "Header Feld Definitionen".Information about content encodings is in section 14, "Header Field Definitions."

Sie können die VaryByContentEncodings -Eigenschaft mithilfe des VaryByContentEncodings -Attributs der @ OutputCache -Direktive festlegen.You can set the VaryByContentEncodings property by using the VaryByContentEncodings attribute of the @ OutputCache directive. Sie können dem OutputCacheProfile -Element in der Datei "Web. config" auch ein Cache Profil hinzufügen.You can also add a cache profile to the outputCacheProfile element in the Web.config file.

VaryByContentEncodingswird in der .NET Framework Version 3,5 eingeführt.VaryByContentEncodings is introduced in the .NET Framework version 3.5. Weitere Informationen finden Sie unter Versionen und Abhängigkeiten.For more information, see Versions and Dependencies.

Gilt für:

Siehe auch