Como saída de página de controle de armazenamento em cache no ASP.NET usando o Visual translation from VPE for Csharp .NET

Traduções deste artigo Traduções deste artigo
ID do artigo: 308375 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo demonstra como usar a diretiva @ OutputCache para controlar a saída da página em cache no ASP.NET com .NET translation from VPE for Csharp Visual. Você pode usar essa técnica para armazenar em cache páginas acessadas com mais freqüência do seu site, que podem aumentar substancialmente a taxa de transferência do servidor Web. A taxa de transferência é normalmente medida em solicitações por segundo. Embora o código de exemplo neste artigo demonstra como usar os atributos VaryByParam e duração , o artigo também inclui uma breve descrição de outras abordagens que você pode usar com a diretiva @ OutputCache .

Observação : não é a intenção deste artigo para descrever todos os atributos diretiva @ OutputCache e seus possíveis usa no detalhes. Para obter mais informações, consulte References seção.


Requisitos

  • Microsoft Windows 2000 ou Windows XP
  • Microsoft .NET framework
  • Microsoft Internet Information Server (IIS)
  • Microsoft ASP.NET

Introdução para a @ OutputCache diretiva

Para usar a diretiva @ OutputCache para controlar o cache de saída de página, basta adicionar a diretiva à parte superior da página. O método Page.InitOutputCache converte a diretiva em métodos de classe HttpCachePolicy .

A diretiva @ OutputCache inclui os seguintes atributos e configurações:
  • duração : este atributo especifica quanto tempo um item é mantido em cache. O valor para duração é listado em segundos.
  • VaryByParam : este atributo determina as entradas de cache por parâmetros Get ou Post . Por exemplo, se uma variável de QueryString chamada testVal é definida para o atributo VaryByParam , cada solicitação da página que contém um valor diferente para testVal é armazenado em cache em uma página separada. O código a seguir ilustra a sintaxe para o atributo VaryByParam :
    <%@ OutputCache Duration="Seconds" VaryByParam="testVal"%>
    						
    Observação : você pode especificar um asterisco para que todas as versões diferentes do item são armazenados em cache. Além disso, você pode especificar "none" se apenas existe uma versão de um item em cache.
  • local : este atributo determina onde o item está para ser armazenada em cache. Você pode especificar locais a seguir:
    • qualquer
    • cliente
    • downstream
    • servidor
    • Nenhum

    O código a seguir ilustra a sintaxe para o atributo Location :
    <%@ OutputCache Duration="Seconds" Location="Client" %>
    					
  • VaryByCustom : este atributo contém a configuração do navegador , que significa que uma instância diferente de um item é armazenada em cache para cada versão de navegador solicitá-lo padrão. Por exemplo, ambos os Microsoft Internet Explorer 5 e o Internet Explorer 5.5 solicitam o item. Quando VaryByCustom é definida como navegador , existe uma entrada de cache para cada versão do navegador. Você não pode fornecer uma seqüência para controlar o armazenamento em cache para outros cenários personalizados. A seqüência de caracteres não tem nenhum significado, a menos que você forneça código para substituir o método HttpApplication.GetVaryByCustomString no arquivo global.asax.

    O código a seguir ilustra a sintaxe para o atributo VaryByCustom :
    <%@ OutputCache Duration="Seconds" VaryByCustom="string" %>
    					
  • VaryByHeader : este atributo permite que você especificar um determinado valor de cabeçalho HTTP como critérios para determinar entradas de cache diferentes. O código a seguir ilustra a sintaxe para o atributo VaryByHeader :
    <%@ OutputCache Duration="60" VaryByHeader="Accept-Language" %>
    					

Passos para criar o exemplo de @ OutputCache Duration

As seguintes etapas demonstram como usar o atributo Duration para saída da página para especificar quanto tempo o cache para um item do cache.
  1. Crie um novo projeto Visual Basic ASP.NET Web Application da seguinte maneira:
    1. Abra o Visual Studio .NET.
    2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
    3. Na caixa de diálogo New Project , clique em projetos do Visual translation from VPE for Csharp em Tipos de projeto e clique em ASP.NET Web Application em modelos . Na caixa de texto nome , digite OutputCacheDemo e, em seguida, clique em OK .
  2. Crie uma nova página .aspx no Visual Studio .NET da seguinte maneira:
    1. No Solution Explorer, clique com o botão direito no nó do projeto, clique em Adicionar e, em seguida, clique em Add Web Form .
    2. Na caixa de texto nome , digite OutputCacheDuration.aspx e, em seguida, clique em Abrir .
  3. Exclua o código padrão que Visual Studio .NET adiciona à página.
  4. Realce o código a seguir, clique o código com o botão direito do mouse e, em seguida, clique em Copiar . No Visual Studio. NET, clique em Colar como HTML no menu Editar para colar o código de página .aspx:
    <%@ OutputCache Duration="20" VaryByParam="none"%>
    <HTML>
       <HEAD>
       <script language="C#" runat="server">
       void Page_Load(object sender, EventArgs e) 
       {	
          Label1.Text = "Time: " + DateTime.Now.TimeOfDay.ToString();
       }
       </script>
       </HEAD>
       <body>
          <STRONG>@ OutputCache Duration Sample</STRONG>
          <hr>
          <br>
          <asp:Label id="Label1" runat="server">Label</asp:Label>
          <br>
       </body>
    </HTML>
    					
  5. No menu arquivo , clique em Salvar OutputCacheDuration.aspx para salvar a página.
  6. No menu Build no ambiente de desenvolvimento integrado (IDE), clique em criar .
  7. Para executar o exemplo, clique com o botão direito OutputCacheDuration.aspx no Solution Explorer e, em seguida, clique em View in Browser .
  8. Depois que a página for exibida no navegador, observe o tempo que aparece no rótulo.
  9. Atualize a página no navegador. Observe que o tempo é o mesmo que era anteriormente. Se você atualizar a página depois que a configuração Duração do segundo 20 expira, uma versão recém-em cache da página é exibida.

    Observação : se você estiver exibindo a página em um navegador externo, você pode pressionar a tecla F5 para atualizar a página. Se você estiver exibindo a página no navegador IDE do Visual Studio .NET interno, você pode clique a página com o botão direito do mouse e clique em Atualizar para atualizar a página.

Passos para criar o exemplo de @ OutputCache VaryByParam

As seguintes etapas demonstram como usar o atributo VaryByParam para armazenamento em cache para permitir diferentes versões em cache de uma página de saída de página para existir com base no valor de um dos seus valores de variáveis QueryString .
  1. Crie uma nova página .aspx no Visual Studio .NET da seguinte maneira:
    1. No Solution Explorer, clique com o botão direito no nó do projeto, clique em Adicionar e, em seguida, clique em Add Web Form .
    2. Na caixa de texto nome , digite OutputCacheVaryByParam.aspx e, em seguida, clique em Abrir .
  2. Exclua o código padrão que Visual Studio .NET adiciona à página por padrão.
  3. Realce o código a seguir, clique o código com o botão direito do mouse e, em seguida, clique em Copiar . No Visual Studio. NET, clique em Colar como HTML no menu Editar para colar o código de página .aspx:
    <%@ OutputCache Duration="20" VaryByParam="testVal"%>
    <HTML>
       <HEAD>
          <script language="C#" runat="server">
       void Page_Load(object sender, EventArgs e) 
       {	
          Label1.Text = "Time: " + DateTime.Now.TimeOfDay.ToString();
       }
       </script>
       </HEAD>
       <body>
          <P>
             <STRONG>@ OutputCache VaryByParam Sample</STRONG>
          </P>
          <P>
             <hr>
          </P>
          <P>
             <br>
             <asp:Label id="Label1" runat="server"></asp:Label>
             <br>
             <hr>
             <a href=http://yourservername/OutputCacheDemo/OutputCacheVaryByParam.aspx?testVal=123">testVal(123)</a>
             <br>
             <a href=http://yourservername/OutputCacheDemo/OutputCacheVaryByParam.aspx?testVal=345">testVal(345)</a>
          </P>
       </body>
    </HTML>
    						
    Observação : você deve modificar os dois hiperlinks o código anterior para refletir o nome do seu servidor Web. Além disso, você notará que o atributo VaryByParam está definido para variar, dependendo do valor da variável de QueryString testVal . Isso causa a saída para ser armazenada em cache para cada instância no qual o valor da variável QueryString para testVal é o mesmo da página.
  4. No menu arquivo , clique em Salvar OutputCacheVaryByParam.aspx para salvar a página.
  5. No menu Build no IDE, clique em criar .
  6. Para executar o exemplo, clique com o botão direito OutputCacheVaryByParam.aspx no Solution Explorer e, em seguida, clique em View in Browser .
  7. Depois que a página aparece no navegador, clique em testVal(123) . Isso faz com que o navegador navegar de volta para a página, mas com QueryString variável testVal definido como "123" . Tome nota do tempo que aparece.
  8. Clique em testVal(123) novamente. Observe que o tempo é o mesmo que era anteriormente. A saída de página tiver sido armazenada em com base no valor variável testVal .
  9. Clique em testVal(345) . Observe que um novo horário é exibido na página.
  10. Clique em testVal(345) novamente. Observe que a saída de página anterior está armazenada em cache e exibida no navegador.
  11. Clique em testVal(123) para retornar para a primeira instância. Observe que versões de cache de saída de página diferente aparecem, com base no valor variável QueryString fornecido.

Solução de problemas

  • Ao usar VaryByParam , esteja ciente de que as alterações ao resultado de caso da variável QueryString nas entradas de cache adicionais.
  • Tenha em mente que a duração é especificado em segundos.
  • Quando você usar VaryByCustom e substituir o método HttpApplication.GetVaryByCustomString no arquivo global.asax, a configuração padrão do navegador é usada se nenhuma correspondência for encontrada para a seqüência personalizada é fornecida com o atributo.

Referências

Para obter mais informações no cache de saída de página, consulte os seguintes sites da Microsoft:
Tutorial de início rápido do cache de saída de página GotDotNet
Microsoft .NET framework Software Development Kit (SDK)
http://msdn2.microsoft.com/en-us/library/ms950382.aspx

Cache de páginas ASP.NET
http://msdn2.microsoft.com/en-us/library/xsbfdd8c(vs.71).aspx

@ OutputCache
http://msdn2.microsoft.com/en-us/library/hdxfb6cy(vs.71).aspx

Propriedades

ID do artigo: 308375 - Última revisão: quinta-feira, 31 de maio de 2007 - Revisão: 7.9
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbcaching kbhowtomaster kbio KB308375 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 308375

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com