COMO: Melhorar o desempenho por cache páginas no ASP.NET

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

Neste artigo

Sumário

Este artigo demonstra como melhorar o desempenho de aplicativos ASP.NET em cache páginas ASP.NET inteiras com a diretiva de página @ OutputCache . Você pode também a diretiva de página @ OutputCache para armazenar em cache partes específicas de uma página ASP.NET, embora este artigo não demonstram essa implementação.

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Microsoft Visual Studio .NET
  • Microsoft Internet Information Server (IIS) 4.0 ou Microsoft Internet Information Services (IIS) 5.0
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • Aplicativos da Web
  • Microsoft ASP.NET

Descrição da técnica

Quando armazenar informações em cache, você colocar as informações na memória. Normalmente, quando o IIS recebe uma solicitação para uma página, o IIS lê a página do disco rígido e, em seguida, envia a página. Às vezes, o IIS automaticamente pode armazenar informações na memória para melhorar o desempenho. A diretiva @ OutputCache permite que você armazenar uma página na memória, mesmo que essa página não se ajusta os critérios que o IIS usa para determinar quais informações ele contém na memória.

Por exemplo, páginas que acessar um banco de dados são executar novamente toda vez que você navegar para a página para obter os dados mais recentes. Quando você usa a diretiva @ OutputCache , a página é mantida na memória com os resultados de uma consulta ao banco de dados até que o período de tempo especificado expire. Portanto, você pode usar a diretiva @ OutputCache para evitar a consultar o banco de dados sempre que alguém navega até a página. Isso é muito útil para dados que não se alterarem com freqüência.

Criar um aplicativo ASP.NET que usa @ OutputCache

Nesta seção, você cria um aplicativo ASP.NET que usa a diretiva de página @ OutputCache para o cache da página para um período de tempo específico.
  1. Siga estas etapas para criar um novo aplicativo ASP.NET no Visual Basic. NET:
    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 Basic em Tipos de projeto e, em seguida, clique em ASP.NET Web Application em modelos .
  2. Alterne para modo de exibição HTML na janela de WebForm1.aspx e, em seguida, adicione a seguinte diretiva imediatamente após a diretiva @ Page :
    <%@ OutputCache Duration="10" VaryByParam="none" %>
    						
    este código define o atributo duração da diretiva @ OutputCache como 10 segundos para que o conteúdo da página é armazenados em cache por 10 segundos. Além disso, o atributo VaryByParam consiste em uma lista separada por ponto-e-vírgula de cadeias de caracteres que você pode usar para variar o cache de saída com base nas variáveis que o usuário define. Essa funcionalidade está além do escopo deste artigo, portanto, o código anterior define VaryByParam para Nenhum .
  3. No modo de exibição HTML de WebForm1.aspx, adicione o seguinte código entre as marcas de abertura e fechamento <form> para adicionar umcontrole de rótulo ao formulário:
    <asp:Label>
    Last cached: <%Response.Write(Now())%>
    </asp:Label>
    						
    você usar este rótulo para exibir a última vez que a página foi carregada. O valor neste rótulo só deve alterar uma vez cada 10 segundos, independentemente quantas vezes a página é atualizada.
  4. No menu arquivo , clique em Salvar .
  5. No menu Build , clique em Build Solution .
  6. Clique a página com o botão direito do mouse e clique em Exibir no navegador . Observe que um rótulo for exibido, que exibe a hora atual.
  7. Atualize a página várias vezes. Observe que o rótulo alterado somente depois que o período de 10 segundos tempo expirar.

Concluir a listagem de código

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>
<%@ OutputCache Duration="10" VaryByParam="none" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    <head>
        <title>WebForm1</title>
        <meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
        <meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </head>
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
        <asp:Label>
            Last Cached: <%Response.Write(Now())%>
        </asp:Label>
        </form>
    </body>
</html>
				
Observação : talvez seja necessário modificar o atributo Inherits na linha de código a seguir conforme necessário para fazer referência o nome do seu projeto e o formulário da Web:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>
				
o código no momento assume que o projeto é denominado WebApplication1 e que seu formulário da Web é chamado WebForm1.

Verificar se ele funciona

  1. Abra várias janelas do navegador.
  2. Em cada janela, navegue até sua página .aspx como se fosse um usuário final. Observe que todas as janelas de exibem o mesmo tempo para a duração de 10 segundos, mesmo que você não navegue até a página ao mesmo tempo.
  3. Após 10 segundos, vá para ou atualizar sua página .aspx. Observe que todas as janelas de atualizar a hora.



Referências

Para obter mais informações, consulte os seguintes sites da Microsoft:
Otimização do ASP.NET
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaspoptimization.asp

Recursos de cache do ASP.NET
http://msdn2.microsoft.com/en-us/library/xsbfdd8c(vs.71).aspx

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

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

Propriedades

ID do artigo: 315896 - Última revisão: quinta-feira, 31 de maio de 2007 - Revisão: 3.6
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Palavras-chave: 
kbmt kbcaching kbhowtomaster kbio kbperformance kbwebforms KB315896 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: 315896

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