Partager via


HttpCacheVaryByContentEncodings Classe

Définition

Fournit une manière de type sécurisé pour définir la propriété VaryByContentEncodings de la classe HttpCachePolicy.

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 servie à partir du cache de sortie. L’encodage acceptable est « gzip » et est défini à l’aide de l’attribut VaryByContentEncodings de la @ OutputCache directive. Si le serveur Web qui héberge la page n’a pas de compression dynamique activée, le cache de sortie n’aura pas de réponse mise en cache pour l’encodage de contenu spécifié.

<%@ 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. La mise en cache des réponses compressées dynamiquement signifie que le coût de la compression n’est encouru qu’une seule fois, pendant la première demande de la ressource (ou après le redémarrage d’une application) et lorsque l’élément de cache expire.

La VaryByContentEncodings propriété de la classe identifie quels paramètres d’en-tête de requête ASP.NET utilise pour identifier de manière unique une variante de la HttpCachePolicy réponse s’il existe plusieurs réponses mises en cache pour une ressource. Cela est utile lorsqu’une réponse dépend d’un ensemble d’entrées client, telles que les en-têtes, les paramètres ou les encodages de contenu.

La HttpCacheVaryByContentEncodings classe n’est pas directement liée aux en-têtes de contrôle du cache HTTP. Toutefois, il permet de s’assurer qu’une réponse à un client ou à un proxy varie selon l’encodage de contenu spécifié. La définition du cache pour varier selon l’encodage de contenu permet ASP.NET de varier la réponse par l’en-tête Accept-Encoding . Lorsqu’une requête est traitée, l’en-tête est vérifié et le Accept-Encoding premier encodage acceptable est identifié et utilisé pour effectuer l’une des actions suivantes :

  • Si un encodage correspondant est également trouvé dans la VaryByContentEncodings liste et qu’une réponse mise en cache existe, la réponse mise en cache est envoyée.

  • Si un encodage correspondant est également trouvé dans la VaryByContentEncodings liste, mais qu’une réponse mise en cache n’existe pas, une réponse est générée et insérée dans le cache.

  • Si un encodage correspondant n’est pas trouvé dans la VaryByContentEncodings liste, le cache est recherché pour obtenir une réponse non codée, également appelée réponse d’identité. Si la réponse d’identité est trouvée, elle est envoyée. Sinon, une nouvelle réponse non codée est générée et stockée dans le cache.

Pour plus d’informations sur la VaryByContentEncodings propriété, consultez RFC 2616 : Protocole de transfert hypertexte -- HTTP/1.1, disponible sur le site Web World Wide Web Consortium (W3C). Pour plus d’informations, consultez la section 14, « Définitions de champ d’en-tête ».

Vous pouvez définir la propriété à l’aide de la VaryByContentEncodings @ OutputCache directive ou en ajoutant un profil à l’élément outputCacheProfile dans le fichier Web.config.

Constructeurs

HttpCacheVaryByContentEncodings()

Initialise une nouvelle instance de la classe HttpCacheVaryByContentEncodings.

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é.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(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.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(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.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi