HttpCacheVaryByContentEncodings Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona un método con seguridad de tipos para establecer la propiedad VaryByContentEncodings de la clase HttpCachePolicy.
public ref class HttpCacheVaryByContentEncodings sealed
public sealed class HttpCacheVaryByContentEncodings
type HttpCacheVaryByContentEncodings = class
Public NotInheritable Class HttpCacheVaryByContentEncodings
- Herencia
-
HttpCacheVaryByContentEncodings
Ejemplos
En el ejemplo siguiente se muestra cómo habilitar una respuesta comprimida dinámicamente que se puede atender desde la caché de salida. La codificación aceptable es "gzip" y se establece mediante el VaryByContentEncodings
atributo de la @ OutputCache
directiva . 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é para 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 se usa para especificar si las respuestas comprimidas dinámicamente se almacenan en caché. 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 (o después de reiniciar una aplicación) y cuando expire el elemento de caché.
La VaryByContentEncodings propiedad de la HttpCachePolicy clase identifica qué parámetros de encabezado de solicitud ASP.NET usa para identificar de forma única una variación de la respuesta si hay varias respuestas almacenadas en caché para un recurso. Esto resulta útil cuando una respuesta depende de un conjunto de entradas de cliente, como encabezados, parámetros o codificaciones de contenido.
La HttpCacheVaryByContentEncodings clase no está relacionada directamente con los encabezados de control de caché HTTP. Sin embargo, ayuda a asegurarse de que una respuesta a un cliente o un proxy varía según la codificación de contenido especificada. Establecer la memoria caché en variar según la codificación de contenido permite ASP.NET variar la respuesta por el 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 también se encuentra una codificación coincidente en la VaryByContentEncodings lista y existe una respuesta almacenada en caché, se envía la respuesta almacenada en caché.
Si también 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 de identidad, se envía. De lo contrario, se genera una nueva respuesta no codificada y se almacena 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, disponible en el sitio web de World Wide Web Consortium (W3C). Consulte la sección 14, "Definiciones de campo de encabezado", para obtener detalles completos.
Puede establecer la VaryByContentEncodings propiedad mediante la @ OutputCache
directiva o agregando un perfil al outputCacheProfile
elemento en el archivo Web.config.
Constructores
HttpCacheVaryByContentEncodings() |
Inicializa una nueva instancia de la clase HttpCacheVaryByContentEncodings. |
Propiedades
Item[String] |
Obtiene o establece un valor que indica si la caché varía en función de la codificación de contenido especificada. |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetContentEncodings() |
Obtiene una matriz de valores que especifican las codificaciones de contenido que se van a usar para variar la memoria caché. |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
SetContentEncodings(String[]) |
Establece una matriz de valores que especifican las codificaciones de contenido que se van a usar para variar la memoria caché. |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |