HttpCacheVaryByContentEncodings Classe

Definição

Fornece uma forma segura de tipo para definir a VaryByContentEncodings propriedade da HttpCachePolicy classe.

public ref class HttpCacheVaryByContentEncodings sealed
public sealed class HttpCacheVaryByContentEncodings
type HttpCacheVaryByContentEncodings = class
Public NotInheritable Class HttpCacheVaryByContentEncodings
Herança
HttpCacheVaryByContentEncodings

Exemplos

O exemplo seguinte mostra como ativar uma resposta comprimida dinamicamente que pode ser servida a partir da cache de saída. A codificação aceitável é "gzip" e é definida usando o VaryByContentEncodings atributo da @ OutputCache diretiva. Se o servidor Web que aloja a página não tiver a compressão dinâmica ativada, a cache de saída não terá resposta em cache para a codificação de conteúdo 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>

Observações

A VaryByContentEncodings propriedade é usada para especificar se as respostas dinamicamente comprimidas são armazenadas em cache. Armazenar em cache respostas comprimidas dinamicamente significa que o custo da compressão é incorrido apenas uma vez, durante o primeiro pedido para o recurso (ou após o reinício de uma aplicação) e quando o item da cache expira.

A propriedade VaryByContentEncodings da classe HttpCachePolicy identifica quais os parâmetros do cabeçalho do pedido ASP.NET utiliza para identificar de forma única uma variação da resposta caso existam múltiplas respostas em cache para um recurso. Isto é útil quando uma resposta depende de um conjunto de entradas do cliente, como cabeçalhos, parâmetros ou codificações de conteúdo.

A HttpCacheVaryByContentEncodings classe não está diretamente relacionada com cabeçalhos de controlo de cache HTTP. No entanto, ajuda a garantir que uma resposta a um cliente ou a um proxy varia consoante a codificação de conteúdo especificada. Definir a cache para variar por codificação de conteúdo permite-ASP.NET variar a resposta pelo cabeçalho Accept-Encoding. Quando um pedido é processado, o Accept-Encoding cabeçalho é verificado e a primeira codificação aceitável é identificada e usada para realizar uma das seguintes ações:

  • Se também for encontrada uma codificação correspondente na VaryByContentEncodings lista e existir uma resposta em cache, a resposta em cache é enviada.

  • Se também for encontrada uma codificação correspondente na VaryByContentEncodings lista mas não existir uma resposta em cache, uma resposta é gerada e inserida na cache.

  • Se não for encontrada uma codificação correspondente na VaryByContentEncodings lista, procura-se na cache uma resposta não codificada, também referida como resposta de identidade. Se a resposta de identidade for encontrada, é enviada. Caso contrário, uma nova resposta não codificada é gerada e armazenada na cache.

Para mais informações sobre a VaryByContentEncodings propriedade, consulte RFC 2616: Protocolo de Transferência de Hipertexto -- HTTP/1.1, disponível no site do World Wide Web Consortium (W3C). Consulte a secção 14, "Definições de Campos de Cabeçalho", para detalhes completos.

Pode definir a VaryByContentEncodings propriedade usando a @ OutputCache diretiva ou adicionando um perfil ao outputCacheProfile elemento no ficheiro Web.config.

Construtores

Name Description
HttpCacheVaryByContentEncodings()

Inicializa uma nova instância da HttpCacheVaryByContentEncodings classe.

Propriedades

Name Description
Item[String]

Recebe ou define um valor que indica se a cache varia de acordo com a codificação de conteúdo especificada.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetContentEncodings()

Obtém um array de valores que especificam as codificações de conteúdo a serem usadas para variar a cache.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
SetContentEncodings(String[])

Define um array de valores que especificam as codificações de conteúdo a serem usadas para variar a cache.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também