HttpCacheVaryByContentEncodings Classe

Définition

Fournit une manière de type sécurisé pour définir la propriété VaryByContentEncodings de la classe HttpCachePolicy.Provides a type-safe way to set the VaryByContentEncodings property of the HttpCachePolicy class.

public ref class HttpCacheVaryByContentEncodings sealed
public sealed class HttpCacheVaryByContentEncodings
type HttpCacheVaryByContentEncodings = class
Public NotInheritable Class HttpCacheVaryByContentEncodings
Héritage
HttpCacheVaryByContentEncodings

Exemples

L’exemple suivant montre comment activer une réponse compressée dynamiquement qui peut être fournie à partir du cache de sortie.The following example shows how to enable a dynamically compressed response that can be served from the output cache. L’encodage acceptable est « gzip » et est défini à l’aide de VaryByContentEncodings l’attribut de la directive.The encoding that is acceptable is "gzip" and is set by using the VaryByContentEncodings attribute of the directive. Si la compression dynamique n’est pas activée sur le serveur Web qui héberge la page, le cache de sortie n’aura pas de réponse mise en cache pour l’encodage de contenu spécifié.If the Web server that hosts the page does not have dynamic compression enabled, the output cache will not have a cached response for 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>

Remarques

La VaryByContentEncodings propriété est utilisée pour spécifier si les réponses compressées dynamiquement sont mises en cache.The VaryByContentEncodings property is used to specify whether dynamically compressed responses are cached. La mise en cache de réponses compressées de manière dynamique signifie que le coût de la compression n’est encouru qu’une seule fois, pendant la première demande de ressource (ou après le redémarrage d’une application) et à l’expiration de l’élément de cache.Caching dynamically compressed responses means that the cost of compression is incurred only one time, during the first request for the resource (or after an application restart) and when the cache item expires.

La VaryByContentEncodings propriété de la HttpCachePolicy classe identifie les paramètres d’en-tête de demande utilisés par ASP.net pour identifier de façon unique une variation de la réponse s’il existe plusieurs réponses mises en cache pour une ressource.The VaryByContentEncodings property of the HttpCachePolicy class identifies which request header parameters ASP.NET uses to uniquely identify a variation of the response if there are multiple cached responses for a resource. Cela est utile quand une réponse dépend d’un ensemble d’entrées clientes, telles que des en-têtes, des paramètres ou des encodages de contenu.This is useful when a response depends on a set of client inputs, such as headers, parameters, or content encodings.

La HttpCacheVaryByContentEncodings classe n’est pas directement liée aux en-têtes de contrôle de cache http.The HttpCacheVaryByContentEncodings class is not directly related to HTTP cache-control headers. Toutefois, il permet de s’assurer qu’une réponse à un client ou un proxy varie en fonction de l’encodage de contenu spécifié.However, it helps make sure that a response to a client or a proxy varies by the specified content encoding. La définition du cache en fonction de l’encodage du contenu permet à ASP.net de Accept-Encoding faire varier la réponse par l’en-tête.Setting the cache to vary by content encoding enables ASP.NET to vary the response by the Accept-Encoding header. Lorsqu’une demande est traitée, l' Accept-Encoding en-tête est vérifié et le premier encodage acceptable est identifié et utilisé pour effectuer l’une des actions suivantes :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:

  • Si un encodage correspondant est également trouvé dans VaryByContentEncodings la liste et qu’une réponse mise en cache existe, la réponse mise en cache est envoyée.If a matching encoding is also found in the VaryByContentEncodings list and a cached response exists, the cached response is sent.

  • Si un encodage correspondant est également trouvé dans VaryByContentEncodings la liste mais qu’il n’existe pas de réponse mise en cache, une réponse est générée et insérée dans le cache.If a matching encoding is also found in the VaryByContentEncodings list but a cached response does not exist, a response is generated and inserted into the cache.

  • Si aucun encodage correspondant n’est trouvé dans VaryByContentEncodings la liste, une réponse non codée est recherchée dans le cache, également appelée réponse d’identité.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. Si la réponse d’identité est trouvée, elle est envoyée.If the identity response is found, it is sent. Dans le cas contraire, une nouvelle réponse non codée est générée et stockée dans le cache.Otherwise a new non-encoded response is generated and stored in the cache.

Pour plus d’informations sur VaryByContentEncodings la propriété, consultez RFC 2616 : Protocole Hypertext Transfer--HTTP/1.1, disponible sur le site Web World Wide Web Consortium (W3C).For more information about the VaryByContentEncodings property, see RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1, available on the World Wide Web Consortium (W3C) Web site. Pour plus d’informations, consultez la section 14, « Header Field Definitions ».See section 14, "Header Field Definitions", for complete details.

Vous pouvez définir la VaryByContentEncodings propriété à l’aide de la directive ou en ajoutant un profil à l’élément dans le fichier Web. config.You can set the VaryByContentEncodings property by using the directive or by adding a profile to the element in the Web.config file.

Constructeurs

HttpCacheVaryByContentEncodings()

Initialise une nouvelle instance de la classe HttpCacheVaryByContentEncodings.Initializes a new instance of the HttpCacheVaryByContentEncodings class.

Propriétés

Item[String]

Obtient ou définit une valeur qui indique si le cache varie en fonction du codage de contenu spécifié.Gets or sets a value that indicates whether the cache varies according to the specified content encoding.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetContentEncodings()

Obtient un tableau de valeurs qui spécifient les encodages de contenu devant être utilisés pour faire varier le cache.Gets an array of values which specify the content encodings to be used for varying the cache.

GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
SetContentEncodings(String[])

Définit un tableau de valeurs qui spécifient les encodages de contenu devant être utilisés pour faire varier le cache.Sets an array of values which specify the content encodings to be used for varying the cache.

ToString()

Retourne une chaîne qui représente l'objet en cours.Returns a string that represents the current object.

(Hérité de Object)

S’applique à

Voir aussi