COMO: Aumentar o desempenho através da Colocação em cache páginas no ASP.NET

Traduções de Artigos Traduções de Artigos
Artigo: 315896 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo demonstra como melhorar o desempenho de aplicações do ASP.NET através da Colocação em cache páginas ASP.NET inteiras com a directiva de página @ OutputCache . Pode também directiva @ OutputCache página na cache partes específicas de uma página ASP.NET, apesar deste artigo não demonstram esta implementação.

Requisitos

A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs que necessita:
  • Microsoft Visual Studio .NET
  • Microsoft Internet Information Server (IIS) 4.0 ou Microsoft Internet Information Services (IIS) 5.0
Este artigo pressupõe que está familiarizado com os seguintes tópicos:
  • Aplicações Web
  • O Microsoft ASP.NET

Descrição da técnica

Quando a cache informações, coloque as informações na memória. Normalmente, quando o IIS recebe um pedido de uma página, o IIS lê a página a partir do disco rígido e, em seguida, envia a página. Por vezes, o IIS automaticamente podem armazenar informações na memória para melhorar o desempenho. A directiva @ OutputCache permite-lhe reter uma página na memória, mesmo que essa página não se ajusta os critérios que o IIS utiliza para determinar que informações possui na memória.

Por exemplo, páginas que acedam a uma base de dados são executadas novamente sempre que procurar a página para obter os dados mais recentes. Quando utiliza a directiva OutputCache @ , a página é mantida na memória com os resultados de uma consulta à base de dados até o período de tempo especificado expira. Por conseguinte, pode utilizar a directiva @ OutputCache para evitar a consultar a base de dados sempre que alguém navega para a página. Isto é muito útil para dados que não forem alterados frequentemente.

Criar uma aplicação Web do ASP.NET que utilize @ OutputCache

Esta secção, pode criar uma aplicação Web ASP.NET que utiliza a directiva de página @ OutputCache para a página em cache durante um período de tempo específico.
  1. Siga estes passos para criar uma nova aplicação Web do ASP.NET no Visual Basic. NET:
    1. Abra o Visual Studio. NET.
    2. No menu ficheiro , aponte para Novo e, em seguida, clique em projecto .
    3. Na caixa de diálogo Novo projecto , clique em Projectos do Visual Basic em Project Types e, em seguida, clique em ASP.NET Web Application em modelos .
  2. Mude para vista HTML na janela WebForm1.aspx e, em seguida, adicionar a seguinte directiva imediatamente após a directiva @ Page :
    <%@ OutputCache Duration="10" VaryByParam="none" %>
    						
    este código define o atributo de duração da directiva OutputCache @ para 10 segundos para que o conteúdo da página é colocados em cache durante 10 segundos. Além disso, o atributo ' VaryByParam na consiste de uma lista de cadeias que pode utilizar para variar a cache de saída com base nas variáveis que o utilizador define separados por ponto e vírgula. Esta funcionalidade está para além do âmbito deste artigo, para que o código precedente define VaryByParam para nenhum .
  3. Na vista de HTML de WebForm1.aspx, adicione o seguinte código entre os códigos <form> de abertura e fecho para adicionar umcontrolo de rótulo ao formulário:
    <asp:Label>
    Last cached: <%Response.Write(Now())%>
    </asp:Label>
    						
    é utilizar este rótulo para mostrar a última vez que a página foi carregada. O valor esta etiqueta só deverá alterar uma vez cada 10 segundos, independentemente quantas vezes a página é actualizada.
  4. No menu ficheiro , clique em Guardar .
  5. No menu criar , clique em Criar soluções .
  6. Com o botão direito do rato na página e, em seguida, clique em Ver no browser . Repare que é apresentada uma etiqueta, que apresenta a hora actual.
  7. Actualize a página várias vezes. Repare que o nome altera apenas depois de expira o período de 10 segundos.

Concluir lista 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>
				
Nota : poderá ter de modificar o atributo Inherits na seguinte linha de código conforme necessário para referenciar o nome do projecto e formulário da Web:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>
				
o código actualmente pressupõe que o projecto tem o nome WebApplication1 e que o formulário da Web chama WebForm1.

Verificar se funciona

  1. Abra várias janelas do browser.
  2. Em cada janela, procure a página .aspx como se fosse um utilizador final. Repare que todas as janelas de apresentar o mesmo tempo para a duração de 10 segundos, mesmo que não navegar para a página ao mesmo tempo.
  3. Após 10 segundos, procure ou actualizar a página .aspx. Repare que todas as janelas de actualizar a hora.



Referências

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

Funcionalidades de colocação em cache do ASP.NET
http://msdn2.microsoft.com/en-us/library/xsbfdd8c(vs.71).aspx

Colocação em cache 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

Artigo: 315896 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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