Compartir vía


HttpCachePolicy.VaryByContentEncodings Propiedad

Definición

Obtiene la lista de Content-Encoding encabezados que se usarán para variar la memoria caché de salida.

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

Valor de propiedad

Objeto que especifica qué Content-Encoding encabezados se usan para seleccionar la respuesta almacenada en caché.

Ejemplos

En el ejemplo siguiente se muestra cómo habilitar una respuesta comprimida dinámicamente para que una página se sirva desde la caché de salida. La codificación aceptable es "gzip" y se establece mediante el VaryByContentEncodings atributo de la directiva @ OutputCache . Si el servidor web que hospeda la página no tiene habilitada la compresión dinámica, la caché de salida no tendrá una respuesta almacenada en caché basada en la codificación de contenido especificada.

<%@ 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>

Comentarios

La VaryByContentEncodings propiedad devuelve una lista de encabezados de codificación de contenido que representan esquemas de compresión para variar la memoria caché de salida. El almacenamiento en caché de respuestas comprimidas dinámicamente significa que el costo de compresión se incurre solo una vez, durante la primera solicitud del recurso.

La VaryByContentEncodings propiedad se usa con el Accept-Encoding encabezado de una solicitud para determinar cómo servir respuestas almacenadas en caché para diferentes codificaciones de contenido que se comprimen dinámicamente. El encabezado Accept-Encoding enumera las codificaciones que el cliente puede descomprimir.

Al establecer la memoria caché para variar según la codificación de contenido, permite que la respuesta cambie indirectamente por el valor del Accept-Encoding encabezado. Cuando se procesa una solicitud, se comprueba el Accept-Encoding encabezado y se identifica la primera codificación aceptable y se usa para realizar una de las siguientes acciones:

  • Si existe una codificación coincidente en la VaryByContentEncodings lista y existe una respuesta almacenada en caché, se envía la respuesta almacenada en caché.

  • Si se encuentra una codificación coincidente en la VaryByContentEncodings lista, pero no existe una respuesta almacenada en caché, se genera e inserta una respuesta en la memoria caché.

  • Si no se encuentra una codificación coincidente en la VaryByContentEncodings lista, la memoria caché busca una respuesta no codificada, también denominada respuesta de identidad. Si se encuentra la respuesta no codificada, se envía. De lo contrario, se genera, envía y almacena una nueva respuesta no codificada en la memoria caché.

Para obtener más información sobre la VaryByContentEncodings propiedad, vea "RFC 2616: Protocolo de transferencia de hipertexto -- HTTP/1.1", que está disponible en el sitio web de World Wide Web Consortium (W3C). La información sobre las codificaciones de contenido se encuentra en la sección 14, "Definiciones de campo de encabezado".

Puede establecer la VaryByContentEncodings propiedad mediante el VaryByContentEncodings atributo de la directiva @ OutputCache . También puede agregar un perfil de caché al elemento outputCacheProfile en el archivo Web.config.

VaryByContentEncodings se presenta en la versión 3.5 de .NET Framework. Para obtener más información, vea Versiones y dependencias.

Se aplica a

Consulte también