Partilhar via


@ OutputCache

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.

<%@ 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 é armazenado em cache do página ou controle de usuário. 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 automaticamente em cache a saída do controle de usuário ou página.

    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 padrões para 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 o 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 do 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 as diretivas que estão incluídas no ASP.NET (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 as diretivas incluídas no ASP.NET (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 do cache de saída depende, para que quando os itens em uma tabela são atualizados, esses itens são removidos do cache quando usando polling baseado na 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 o polling baseado na 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 do. 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.Cache NET.Esse atributo não há suporte para @ OutputCache diretivas em 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 nome de parâmetro.

    Observação

    Este atributo ambos ou o VaryByControl atributo é necessário quando você usar o a diretiva@ OutputCache no ASP.NET e controles de usuário.Um erro do analisador ocorre se você deixar de incluí-lo.Se não desejar especificar um parâmetro para variar o conteúdo 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
    Uma lista separada por ponto-e-vírgula de seqüências de caracteres usada para variar o controle de usuário do cache de saída. 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 Cache de partes de uma página ASP.NET.

    Observação

    Este atributo ambos ou o VaryByParam atributo é necessário quando você usar o a diretiva@ OutputCache 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 a especificação no site do W3C.

Comentários

Definindo valores para o cache de saída de página é igual a manipulação a SetExpires e SetCacheability métodos por meio de 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 Cache de páginas ASP.NET.

Se você definir a Shared atributo para true, a saída do controle de usuário em cache pode ser acessada por várias páginas de Web Forms. Se você não definir 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 esse controle de usuário. Você possivelmente pode salvar uma quantidade significativa de memória, permitindo que o Shared atributo. Para obter mais informações, consulte Cache de partes de uma página ASP.NET.

Exemplo

O exemplo de código a seguir demonstra como você pode definir a duração de uma página ou controle de usuário 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 a contagem de 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) é armazenado em cache por dez segundos. As solicitações subseqüentes com os mesmos valores de parâmetro são satisfeitas no cache até que a entrada expire.

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

Consulte também

Referência

Texto Sintaxe de modelo de diretiva

Conceitos

Visão geral do cache no ASP.NET

Cache de páginas ASP.NET

Cache de partes de uma página ASP.NET

Visão geral da sintaxe de página da Web ASP.NET