Compartilhar via


HttpCacheVaryByContentEncodings Classe

Definição

Fornece uma maneira fortemente tipada de definir a propriedade VaryByContentEncodings da classe HttpCachePolicy.

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

Exemplos

O exemplo a seguir mostra como habilitar uma resposta compactada dinamicamente que pode ser servida do cache de saída. A codificação aceitável é "gzip" e é definida usando o VaryByContentEncodings atributo da @ OutputCache diretiva. Se o servidor Web que hospeda a página não tiver a compactação dinâmica habilitada, o cache de saída não terá uma resposta armazenada 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>

Comentários

A VaryByContentEncodings propriedade é usada para especificar se as respostas compactadas dinamicamente são armazenadas em cache. Caching respostas compactadas dinamicamente significa que o custo da compactação é incorrido apenas uma vez, durante a primeira solicitação do recurso (ou após a reinicialização de um aplicativo) e quando o item de cache expira.

A VaryByContentEncodings propriedade da HttpCachePolicy classe identifica quais parâmetros de cabeçalho de solicitação ASP.NET usa para identificar exclusivamente uma variação da resposta se houver várias respostas armazenadas em cache para um recurso. Isso é ú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 aos cabeçalhos de controle de cache HTTP. No entanto, ele ajuda a garantir que uma resposta a um cliente ou um proxy varie de acordo com a codificação de conteúdo especificada. Definir o cache para variar de acordo com a codificação de conteúdo permite que ASP.NET variem a resposta pelo Accept-Encoding cabeçalho. Quando uma solicitação é processada, o Accept-Encoding cabeçalho é verificado e a primeira codificação aceitável é identificada e usada para executar uma das seguintes ações:

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

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

  • Se uma codificação correspondente não for encontrada na VaryByContentEncodings lista, o cache será pesquisado por uma resposta não codificada, também conhecida como a resposta de identidade. Se a resposta de identidade for encontrada, ela será enviada. Caso contrário, uma nova resposta não codificada será gerada e armazenada no cache.

Para obter mais informações sobre a VaryByContentEncodings propriedade, consulte RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1, disponível no site do W3C (World Wide Web Consortium). Consulte a seção 14, "Definições de campo de cabeçalho", para obter detalhes completos.

Você pode definir a VaryByContentEncodings propriedade usando a @ OutputCache diretiva ou adicionando um perfil ao outputCacheProfile elemento no arquivo Web.config.

Construtores

HttpCacheVaryByContentEncodings()

Inicializa uma nova instância da classe HttpCacheVaryByContentEncodings.

Propriedades

Item[String]

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

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetContentEncodings()

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

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
SetContentEncodings(String[])

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

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também