Share via


@ OutputCache

[Esta documentação destina-se apenas à visualização e está sujeita a alterações em versões posteriores. Os tópicos em branco estão incluídos como espaços reservados.]

Declarativamente, controla a diretivas de uma página ASP de cache de saída.NET ou um controle de usuário contido em uma página. Para obter mais informações sobre o cache de saída, consulte ASP.NET Caching Features.

<%@ OutputCache Duration="#ofseconds"
   Location="Any | Client | Downstream | Server | None | 
     ServerAndClient "
   Shared="True | False"
   VaryByControl="controlname"
   VaryByCustom="browser | customstring"
   VaryByHeader="headers"
   VaryByParam="parametername" 
   VaryByContentEncoding="encodings"
   CacheProfile="cache profile name | ''"
   NoStore="true | false"
   SqlDependency="database/table name pair | CommandNotification"
   ProviderName="Provider Name"  
%>

Atributos

  • Duration
    O tempo, em segundos, que a página ou controle de usuário é armazenado em cache. A configuração desse atributo em uma página ou controle de usuário estabelece uma diretiva de expiração para respostas HTTP do objeto e a saída do controle de usuário ou página em cache automaticamente.

    Observação

    Esse atributo é necessário.Se você não incluí-lo, ocorre um erro do analisador.

  • Location
    Dentre as OutputCacheLocation valores de enumeração. O padrão é Any.

    Observação

    Esse atributo não há suporte para @ OutputCache diretivas incluídas nos controles de usuário (arquivos. ascx).

  • CacheProfile
    O nome das configurações de cache para associar com a página. Este é um atributo opcional e o padrão é uma seqüência vazia ("").

    Observação

    Esse atributo não há suporte para @ OutputCache diretivas incluídas nos controles de usuário (arquivos. ascx).Quando especificado em uma página, o valor deve corresponder os nomes de uma das entradas disponíveis na outputCacheProfiles elemento sob o outputCacheSettings seção.Se o nome não corresponder a uma entrada de perfil, uma exceção é lançada.

  • NoStore
    Um valor Boolean que determina se é para impedir o armazenamento secundário de informações confidenciais.

    Observação

    Esse atributo não há suporte para @ OutputCache diretivas incluídas nos controles de usuário (arquivos. ascx).A configuração desse atributo true é equivalente ao seguinte código executado durante a solicitação:

                Response.Cache.SetNoStore();
    
  • ProviderName
    Um valor de seqüência de caracteres que identifica o provedor personalizado de cache de saída para usados. Para obter mais informações, consulte o comentários seção neste tópico e a entrada extensível de cache de saída com o ASP.NET 4 (2010 VS e.NET 4.0 Series) no blog de Scott Guthrie

    Observação

    Esse atributo é suportado somente em controles de usuário (arquivos. ascx).Ele não tem suporte para @ OutputCache diretivas que estão incluídas no ASP.NET páginas (arquivos. aspx).

  • Shared
    Um valor Boolean que determina se a saída do controle de usuário pode ser compartilhada com várias páginas. O padrão é false. Para obter mais informações, consulte a seção comentários.

    Observação

    Esse atributo não há suporte para @ OutputCache diretivas incluídas no ASP.NET páginas (arquivos. aspx).

  • SqlDependency
    Um valor de seqüência de caracteres que identifica um conjunto de pares de nome de banco de dados e tabela de uma página ou o cache de saída do controle depende. Observe que o SqlCacheDependency classe monitora a tabela em um banco de dados que o cache de saída depende, para que quando os itens em uma tabela são atualizados, esses itens são removidos do cache, ao usar a pesquisa com base em tabela. Ao usar notificações (em Microsoft SQL Server 2005) com o valor CommandNotification, basicamente uma SqlDependency classe é usada para registrar para notificações de consulta com o SQL Server 2005 server.

    Observação

    O CommandNotification valor para o SqlDependency atributo é válido somente em páginas da Web (. aspx).Controles de usuário só podem usar a pesquisa com base em tabela com o @ OutputCache diretiva.

  • VaryByCustom
    Requisitos de armazenamento em cache de saída de qualquer texto que representa personalizado. Se este atributo for fornecido um valor de browser, o cache é variado, nome do navegador e informações de versão principal. Se uma seqüência de caracteres personalizada for inserida, você deve substituir o GetVaryByCustomString método no arquivo global. asax de seu aplicativo.

  • VaryByHeader
    Uma lista separada por ponto-e-vírgula dos cabeçalhos HTTP usada para variar o cache de saída. Quando esse atributo é definido como vários cabeçalhos, o cache de saída contém uma versão diferente do documento solicitada para cada combinação de cabeçalhos especificados.

    Observação

    Definindo a VaryByHeader atributo permite cache itens em todos os cachês de versão 1.1 do HTTP, não apenas o ASP.NET cache.Esse atributo não há suporte para @ OutputCache diretivas nos controles de usuário.

  • VaryByParam
    Uma lista separada por ponto-e-vírgula de seqüências de caracteres usada para variar o cache de saída. Por padrão, essas cadeias de caracteres correspondem a um valor de seqüência de consulta enviado com GET atributos de método, ou um parâmetro enviado usando o POST método. Quando esse atributo é definido para vários parâmetros, o cache de saída contém uma versão diferente do documento solicitada para cada combinação de parâmetros especificados. Valores possíveis incluem none, um asterisco (*) e qualquer seqüência de caracteres de consulta válida ou POST o nome do parâmetro.

    Aviso

    Ambos este atributo ou o VaryByControl o atributo é necessário ao usar o @ OutputCache diretiva no ASP.NET e controles de usuário.Um erro do analisador ocorre se você não conseguir para incluí-lo.Se não desejar especificar um parâmetro para variar o conteúdo armazenado em cache, defina o valor como none.Se você deseja variar o cache de saída por todos os valores de parâmetro, defina o atributo para um asterisco (*).

  • VaryByControl
    Cache de saída de uma lista separada por ponto-e-vírgula de seqüências de caracteres usada para variar de um controle de usuário. Essas cadeias de caracteres representam a ID valores de propriedade do ASP.Controles de servidor NET declarados no controle de usuário. Para obter mais informações, consulte Caching Portions of an ASP.NET Page.

    Observação

    Ambos este atributo ou o VaryByParam o atributo é necessário ao usar o @ OutputCache diretiva no ASP.NET e controles de usuário.

  • VaryByContentEncodings
    Uma lista separada por ponto-e-vírgula de seqüências de caracteres que são usados para variar o cache de saída. O VaryByContentEncodings atributo é usado com o Accept-Encoding cabeçalho para determinar como em cache respostas são servidos para diferentes codificações de conteúdo. Para obter mais informações sobre como especificar o Accept-Encoding cabeçalho, consulte a seção 14,3 a Hypertext Transfer Protocol--HTTP/1.1 especificação no site do W3C.

Remarks

Definindo valores para o cache de saída de página é o mesmo que a manipulação a SetExpires e SetCacheability métodos por meio do Cache propriedade.

Se uma página Web Forms requer autorização a ser visualizada por um usuário, o cache de saída define o Cache-Control cabeçalho HTTP para private. Para obter mais informações sobre todos esses assuntos, consulte Caching ASP.NET Pages.

Se você definir a Shared para o atributo true, armazenadas em cache saída do controle de usuário pode ser acessada por várias páginas de Web Forms. Se você não defini-la true, o comportamento padrão é armazenar em cache uma versão de saída do controle de usuário para cada página que contém o controle de usuário. Você pode economizar uma quantidade significativa de memória, permitindo que o Shared atributo. Para obter mais informações, consulte Caching Portions of an ASP.NET Page.

Exemplo

O exemplo de código a seguir demonstra como você pode definir a duração para o qual uma página ou controle de usuário é armazenado em cache de saída.

<%@ OutputCache Duration="100" VaryByParam="none" %>

O próximo exemplo de código demonstra como você pode instruir a saída de cache para cache uma página ou controle de usuário por sua localização e contar os parâmetros de formulário a partir de um formulário POST método ou a partir de uma seqüência de caracteres de consulta. Cada solicitação HTTP que chega com um local diferente ou parâmetro de contagem (ou ambos) são armazenadas em cache por dez segundos. As solicitações subseqüentes com os mesmos valores de parâmetro são satisfeitas do cache até que a entrada expire.

<%@ OutputCache Duration="10" VaryByParam="location;count" %>

Consulte também

Reference

Sintaxe de diretiva de modelo de texto

Concepts

ASP.NET Caching Overview

Caching ASP.NET Pages

Caching Portions of an ASP.NET Page

ASP.NET Web Page Syntax Overview