@ OutputCache
Declarativamente controla a diretivas de uma página ASP.NET ou um controle de usuário contidos em uma página do cache de saída. 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"
%>
Atributos
Duration
O time, em segundos, que é armazenado em cache a página ou controle de usuário. Definindo este atributo em uma página ou controle de usuário estabelece uma diretiva de expiração para respostas HTTP do objeto e será automaticamente o cache a saída do controle de usuário ou página.Observação: Esse atributo é necessário. Se você não incluir a ele, ocorrerá um erro de analisador.
Location
Um do OutputCacheLocation valores de enumeração. O padrão é Any.Observação: Não há suporte para esse atributo para @ OutputCache directives included in user controls (.ascx files).
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 de caracteres vazia ("").Observação: Não há suporte para esse atributo para @ OutputCache directives included in user controls (.ascx files). Quando especificado em uma página, o valor deve coincidir com os nomes de uma das entradas no disponíveloutputCacheProfiles elemento sob o outputCacheSettings seção. Se o nome não coincidir com uma entrada de analisar, uma exceção é lançada.
NoStore
Um valor booliano que determina se deve impedir o armazenamento secundário de informações confidenciais.Observação: Não há suporte para esse atributo para @ OutputCache directives included in user controls (.ascx files). A configuração desse atributo como true é equivalente ao seguinte código executado durante a solicitação:
Response.Cache.SetNoStore();
Shared
Um valor booliano 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: Não há suporte para esse atributo para @ OutputCache directives included in ASP.NET pages (.aspx files).
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 serão removidos do cache ao usar sondagem com base em tabela. Ao usar notificações (em Microsoft SQL Server 2005) com o valor CommandNotification, essencialmente um SqlDependency classe é usada para registrar para notificações de consulta com o SQL Server 2005 servidor.Observação: O CommandNotification valor para o SqlDependency o atributo é válido somente em páginas da Web (.aspx). User controls can only use table-based polling with the @ OutputCache directive.
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 é modificado por nome de navegador e informações de versão principal. Se uma seqüência 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 de cabeçalhos HTTP usada para variar o cache de saída. Quando esse atributo é conjunto para vários cabeçalhos, o cache de saída contém uma versão diferente do que o documento solicitado para cada combinação de cabeçalhos especificados.Observação: Configurando o VaryByHeader atributo permite que o cache de itens em todos os caches de versão 1.1 do HTTP, não apenas o cache do ASP.NET. This attribute is not supported for @ OutputCache directives in user controls.
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 caracteres de consulta enviado com GET atributos de método ou um parâmetro enviado usando o POST método. Quando esse atributo é conjunto vários parâmetros, o cache de saída contém uma versão diferente do que o documento solicitado 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.Aviso
Ambos esse atributo ou a VaryByControl attribute is required when you use the @ OutputCache directive on ASP.NET pages and user controls. Ocorre um erro do analisador se você não incluí-lo. Se desejar especificar um parâmetro para variar o conteúdo em cache, conjunto o valor de none. Se você deseja variar o cache de saída por todos os valores de parâmetro, defina o atributo a um asterisco (*).
VaryByControl
Cache de saída de uma lista separada por ponto-e-vírgula de cadeias de caracteres usada para variar de um controle de usuário. Estas seqüências de caracteres representam o ID valores de propriedade dos controles de servidor ASP.NET declarados no controle de usuário. Para obter mais informações, consulte Cache de Partes de uma Página ASP.NET.Observação: Ambos esse atributo ou a VaryByParam attribute is required when you use the @ OutputCache directive on ASP.NET pages and user controls.
VaryByContentEncodings
Uma lista separada por ponto-e-vírgula de cadeias de caracteres que são usados para variar o cache de saída. The VaryByContentEncodings atributo é usado com o Accept-Encoding cabeçalho para determinar como em cache as respostas são servidos para codificações diferentes de conteúdo. Para obter mais informações sobre como especificar o Accept-Encoding cabeçalho, consulte a seção 14,3 o Hypertext transferência protocolo--protocolo HTTP/1.1 especificação no site do W3C.
Comentários
Definindo valores para o cache de saída de página é igual a manipular o SetExpires e SetCacheability métodos por meio do Cache propriedade.
Se uma página de 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ê conjunto o Shared atributo à true, saída em cache do controle de usuário pode ser acessada por várias páginas de Web Forms. Se você não conjunto para 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 economizar 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 conjunto a duração de 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 seus parâmetros de formulário local e a contagem de POST método ou a partir de uma seqüência de caracteres de consulta. Cada solicitação HTTP que chega com um outro local ou parâmetro de contagem (ou ambos) é armazenada em cache por dez segundos. Todas 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
Conceitos
Cache de Partes de uma Página ASP.NET
Visão geral da sintaxe de página da Web ASP.NET