Explicação passo a passo: Usando cache de saída para melhorar o desempenho de site da Web

Desempenho é um aspecto crítico para qualquer aplicativo da Web.Diminuir a quantidade de processamento de um servidor Web deve estar em conformidade com resultados de solicitações individuais em respostas mais rápidas de tempo, a capacidade do servidor para tratar mais solicitações simultâneas e uma carga reduzida, em sistemas intermediários e de dados back-end.

Uma maneira para obter melhor desempenho com o ASP.NET é usando cache de saída para reduzir a carga de trabalho do servidor.Cache de saída é uma otimização que reduz o tempo de resposta do servidor Web.

Normalmente, quando um navegador solicita uma página ASP.NET, o ASP.NET cria uma instância da página, executa qualquer código na página, executa consultas de banco de dados (se houver), dinamicamente monta a página e, em seguida, envia a saída resultante para o navegador.O cache de saída permite ao ASP.NET enviar uma cópia pré-processada de uma página, em vez de passar por este processo para cada solicitação.Essa diferença diminui a quantidade de processamento na Web que o servidor faz, o que aumenta o desempenho e permite maior escalabilidade.

Tarefas ilustradas nesta explicação passo a passo incluem:

  • Páginas de cache usando qualquer diretiva de página para ter toda a página de saída armazenada em cache, independentemente do tipo de navegador, parâmetros individuais ou dado.

  • Usando perfis de cache a nível de aplicativo, um recurso que lhe permite definir configurações de caching de saída para um aplicativo inteiro.Páginas individuais podem se associar com perfis contidos no seu arquivo Web.config.Isto lhe permite controlar cache centralmente ao invés de editar cada página.

  • Cache baseado nos parâmetros individuais enviados com a página.

Pré-requisitos

A fim de concluir este explicação passo a passo, será necessário:

  • O Visual Web Developer (Visual Studio).

  • Microsoft .NET Framework versão 2.0.

Criando o Site Web

Se você já tiver Criado um site da Web em Visual Web Developer (consulte Demonstra Passo a passo: Criando uma página da Web básica no Visual Web Developer, você pode usar esse site da Web e vá para o Avançar tópico essa explicação passo a passo.Caso contrário, crie um site e uma página novos, seguindo estas etapas.

Para criar um site do sistema de arquivos

  1. Abra o Visual Web Developer.

  2. Sobre o File Menu, clique em Novo Site da Web.(No Visual Web Developer Express Edition, na File Menu, clique em Novoe em seguida, clique em Site.)

    O Novo Site da Web caixa de diálogo é exibida.

  3. Em Modelos Visual Studio instaladoSelecione Web Site ASP.NET.

  4. Na Local caixa, digite o nome da pasta w aqui você deseja manter as páginas do seu site da Web.

    Por exemplo, digite o nome da pasta C:\WebSites.

  5. Na Linguagem lista, Selecionar a programação Idioma que você prefere trabalhar no.

  6. Clique em OK.

  7. Visual Web Developer cria a pasta e uma nova página chamada Default.aspx.

Configurando o Cache de Nível de Página

Este procedimento o apresenta para o cache básico de página.Esse procedimento, você adicionará um Label Controlarar a página que exibe a hora quando a página foi criada e em seguida, configurar a página a ser armazenado em cache.Pela exibição da hora de criação da página, você pode ver que a solicitação de página é atendida pelo cache.

Para configurar o cache de nível de página

  1. Abra ou alterne para a página Default.aspx.(Alternativamente, você pode usar qualquer outra página no seu site.)

  2. Alternar para modo Design.

  3. A partir de Padrão Grupo na caixa de ferramentas, arraste um Label Controle à sua página, deixando o nome do padrão Label1.

  4. Clique duas vezes em uma área em branco da página.

    O designer alterna para o editor de códigos e cria uma Page_Load Método.

  5. Adicione o seguinte código realçado para o método:

    Protegido sub Page_Carregar(ByVal Sender As Objeto, _ ByVal e As System.EventArgs)
         rótulo1.Texto = System.DateTime.Now.ToCadeia de Caracteres()
    End Sub
    
    Protegido void {Page_Load(Object sender, System.EventArgs e)
       Label1.Text = System.DateTime.Now.ToString();
    }
    
  6. Pressione CTRL+F5 para executar a página.

    Quando a página aparecer no navegador, você verá a data e hora atuais.Pressione o botão de atualização do seu navegador e observe que o timestamp muda a cada vez.

  7. Feche o navegador.

  8. Adicionar o seguinte @ OutputCache Diretiva para a parte superior da página:

    < % @ OutputCache duração = "15" VaryByParam = "None" % &Gt;
    

    Esta diretiva configura a página para ser armazenada em cache.O Duração Atributo especifica que a página permanecerá no cache de 15 segundos.

  9. Pressione CTRL+F5 para executar a página novamente.

  10. Atualize a página várias vezes.

    Observe que a exibição de tempo é atualizada apenas a cada 15 segundos, independentemente de quantas vezes você atualizar o navegador.Isso acontece porque a solicitação é atendida a partir do cache até que o tempo duração tenha decorrido, ao ponto que o código página é executado novamente.

Definição de Cache em Nível de Aplicação

No procedimento anterior, você configurou o cache para uma página individual.Em algumas circunstâncias, convém configurar o cache para todas as páginas do site.Talvez você deseje estabelecer diferentes regras de cache (perfis) e aplicar os perfis de cache a conjuntos de páginas individuais.Configurando o cache no nível do aplicativo permite que você alterar o comportamento do cache de um único arquivo de configuração em vez de editar o @ OutputCache Diretiva de páginas individuais.No procedimento a seguir, você irá configurar um perfil simples de cache e usá-lo para a página que você estiver trabalhando.

Para configurar o cache em nível de aplicação

  1. Se você já tiver um arquivo Web.config, vá para a etapa 4.

  2. Na Gerenciador de Soluções, clique com o botão direito do mouse no nome do seu site da Web e em seguida, clique em Adicionar novo item.

  3. Na Adicionar item caixa de diálogo, clique em Arquivo de configuração da Web, e em seguida, clique em Adicionar.

    Certifique-se de usar o nome Web.config.

  4. Adicionar a seguinte XML como um filho das System.Web Elemento:

    <!--cache grupo seção--> < cache > < outputCacheConfigurações > < outputCacheProArquivos > < Adicionar nome = "AppCache1" Habilitado = "Verdadeiro" Duração = "60" / > < / outputCacheProfiles > < / outputCacheSettings > < / cache >
    
  5. Salve o arquivo e feche-o.

  6. Abra ou alterne para o página da Web que você estava trabalhando, e alterne para modo Source.

  7. Alterar o @ OutputCache Diretiva para leitura da seguinte maneira:

    < % @ OutputCache CacheProArquivo = "AppCache1" VaryByParam = "None" % &Gt;
    
  8. Pressione CTRL+F5 para executar a página.

  9. Atualizar a página algumas vezes.

    Neste momento a data permanecerá a mesma para a duração especificada no perfil do cache, que é 60 segundos.

Cache Usando Parâmetros

O @ OutputCache diretiva exige que você defina o VaryByParam Atributo, que até agora você tenha definido como "none".O VaryByParam Atributo permite que você configurar o cache para que o ASP.NET armazena versões diferentes de uma página de Pendente em parâmetros como seqüências de caracteres de consulta, formam postagem valores, solicitam cabeçalhos e assim por diante.

Por exemplo, você pode usar parâmetros de cache em uma página que exibe condições meteorológicas para cidades selecionadas, onde os dados meteorológicos são atualizados somente a cada três horas.Neste cenário, você deseja armazenar em cache uma versão separada da página de cada cidade.Você pode fazê-lo definindo o parâmetro do cache para variar por um parâmetro de consulta de seqüência de caractere.

O procedimento a seguir, você irá alterar o Label controle que é adicionado à sua página para que ele exiba o tempo com um plano de fundo colorido.Você pode alterar a cor, usando um TextBox o controle para digitar um nome de cor.

Quando você Enviar a página, a cor digitado é EnviarTed como postar dados e a cor atrás de Label Controlar alterações.Quando uma nova cor é solicitada (quando a página inclui novos dados de postagem), a página é regenerada e o carimbo de hora é atualizado.Entretanto, as solicitações subseqüentes para a mesma cor resultarão na página em cache sendo retornadas (até que o intervalo duração tenha excedido).

Armazenar em cache baseado em parâmetros

  1. Abra ou alterne para a página que você estava trabalhando.

  2. Alternar para modo Design.

  3. A partir de Padrão grupo da caixa de ferramentas, arraste um TextBox controlar até a página e definir sua identificação para Color.

  4. Arraste um Button controlar até a página, deixando o nome do padrão Button1.

  5. Definir o Button do controle [P:System.Web.UI.WebControls.Botão.Text] Propriedade para " Alterar cores ".

    Clique duas vezes o Button Controlarar para criar um Clique em manipulador de eventos.

  6. Dentro do método, adicione o seguinte código realçado:

    Protegido sub botão1_Clique(ByVal Sender As Objeto, _ ByVal e As System.EventArgs) trata botão1.Clique
        Label1.BackCor = _      System.Desenho.Color.FromNome(SERVER.HtmlEncode(Color.Text))
    End Sub
    
    Protegido void {Button1_Clique(Object sender, System.EventArgs e)
        Label1.BackColor =      System.Drawing.Color.FromName(SERVER.HtmlEncode(Color.Text));
    }
    
  7. Definir o DefaultButton Atributo das Formulário Elemento para "Button1".

    Isso faz com que o Clique em manipulador de eventos do botão a ser chamado quando a tecla ENTER é pressionado.

  8. Substituir o @ OutputCache Diretiva com a versão a seguir:

    < % @ OutputCache Local = "Server" Duração = "60" VaryByParam = "Color" % &Gt;
    
  9. Pressione CTRL+F5 para executar a página.

  10. Digite um nome de cor, como "vermelho" ou "azul" Na caixa de texto e em seguida, clique em. Alterar cor.

    O ASP.NET armazena uma versão da página que usa a cor você especificou.

  11. Atualizar a página algumas vezes.

    Se você não digitar em um novo nome de cor, a data e hora não serão Alterar para pelo menos um minuto, conforme especificado pelo Duração Atributo no seu @ OutputCache Diretiva.

  12. Digite uma nova cor, como " green " ou " orchid " e depois envie a página.

    Neste momento você verá o tempo atualizar juntamente com a nova cor.

Próximas etapas

Esta explicação passo a passo ilustrou os conceitos básicos de caching de páginas ASP.NET.Você pode também querer explorar essas técnicas de caching adicionais:

  • Em vez de usar declarações de página, especifique programaticamente o cache.Por exemplo, no seu Page_Load Método você pode acessar o HttpCachePolicy Classe (por meio Page.Resposta.Cache e definir valores e o comportamento de acordo.

  • Cache de páginas com dados vinculados, para que elas sejam regeneradas somente quando os dados que são dependentes sejam alterados.Para obter detalhes, consulte Demonstra Passo a passo: Usando o cache com de saída do ASP.NET SQL Servidor.

Consulte também

Tarefas

Demonstra Passo a passo: Usando o cache com de saída do ASP.NET SQL Servidor

Conceitos

Visão geral do cache no ASP.NET

Referência

@ OutputCache

HttpCachePolicy

VaryByParams