Busca online em todo site:
PROGRAMANDO EM ASP.NET

Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.




Título do Artigo

Cache


Data Publicação: 27/7/2006 11:25:30
Total de visualizações: 1337

comente
 


 

Bom, estou disposto a mostrar na prática como utilizar “cache" em sistemas ASP.NET, ou seja, sistemas e sites WEB. Nos dias de hoje, com novas ferramentas e controles da ferramenta da Microsoft chamada Visual Studio.NET, o sistema do tipo WEB tem entrado mais no mercado com aceitação de clientes; tanto para intranet ou internet.

 

Problema

 

Com o uso popular da internet, a briga para carregar o site na tela mais rápido possível em um custo baixo é prioridade, ou seja, mesmo com a conexão do usuário final seja lenta, o site deve aparecer no browser do usuário final de uma forma rápida e eficaz. Nem todo usuário possui uma conexão banda larga em casa, com isso existe demora do carregamento do site ou sistema. Na demora excessiva da funcionalidade, a empresa poderá perder clientes e vendas dependendo do estabelecimento.

 

Solução

 

O recurso no .NET chamado “cache” veio para tirar todo esse problema de lentidão no sistema ou site. Para páginas que possuem os mesmos valores e não têm problemas para manter os dados em “cache”, não precisando ir ao banco de dados; essa solução é ideal e objetiva para você desenvolvedor. Pode melhorar consideravelmente toda página, principalmente para páginas complicadas que precisam ir ao banco de dados a todo o momento e mostrar ao usuário as informações do banco de dados.

  

 

O “cache” pode ser feito de duas maneiras no ASP.NET: (Referência c-1.1)

 

 

- Uma com código dentro da página ASPX.CS ou ASPX.VB;

- Outra colocando uma tag no cabeçalho do arquivo ASPX.

 

Referência: c-1.1

 

Codificando

 

Primeira forma:

Ativando o “cache” em 10 segundos. (Referência c-1.2)

 

 

    protected void GetCache()

    {

        //Uso do cache de saída do servidor

        Response.Cache.SetCacheability(HttpCacheability.Server);

 

        //Mostra que a página ficará ativa por 10 segundos

        //mantendo o cache

        Response.Cache.SetExpires(DateTime.Now.AddSeconds(10));

    }

 

Referência: c-1.2

 

Note que criei um método chamado GetCache(), não recebe valores, não envia valores e é protegido para aquela classe específica. Ele apenas pega o uso do “cache" no servidor, ou seja, se estiver outro usuário no site ou sistema navegando, será detectado automaticamente e o sistema usará o mesmo “cache", dados já exibidos para o próximo usuário que entrar, esse tempo é de 10 segundos. Com isso não precisará ir ao banco de dados.

 

Esses 10 segundos podem ser alterados para quantos segundos quiser, geralmente não é bom colocar muito tempo, tente colocar um tempo legal e ideal para seu sistema e site, tudo exagerado demais não é bom.

 

Depois de criar o método, basta apenas acrescentar dentro do método Load da página principal .ASPX. (Referência c-1.3)

 

 

    protected void Page_Load(object sender, EventArgs e)

    {

        GetCache();

        if (!Page.IsPostBack)

        {

            preencheDataList();

        }

    }

Referência: c-1.3

 

O método foi acrescentado junto ao método Page_Load da página, com isso resolve muito o problema de lentidão e carregamento das informações.

 

 

 

 

Segunda forma:

 

A outra maneira de ativar o “cache" da página, ou seja, “cache" de saída é alterar o cabeçalho da página específica. (Referência c-1.4)

 

 

   <%@ OutputCache Duration="10" VaryByParam="None" %>

 

Referência: c-1.4

 

 

 

Exemplo na página: (Refência c-1.5)

 

Referência: c-1.5

 

 

Os atributos e valores OutPutCache Duration e VaryByParam devem estar especificados corretamente na página.

 

OutPutCache Duration: significa quanto tempo a página será armazenada, esse tempo é medido em segundos;

 

VaryByParam: significa que quando houver um parâmetro a ser passado do tipo “query string”, o mesmo pode ser colocado no atributo. Dessa forma será feito “cache" da página mesmo que haja parâmetros que receba ou não. No meu caso, não precisarei de parâmetro, coloquei “none”.

 

 

 

Dúvida

 

Qual das duas formas usar ? Bom fazendo o teste, os dois tipos funcionam corretamente para a função e desempenho. A minha opinião e preferência é usar a primeira opção mostrada, não gosto de mexer muito na página .ASPX, gosto mesmo de codificar em ambiente “code behing”; mesmo que da outra forma também funcione corretamente.

 

 

 

 

Livros publicados:

 

 

 

Espero ter ajudado de alguma forma.

Qualquer dúvida, favor entrar em contato pelo e-mail: mauricio@aspneti.com.

 

Mauricio Junior

www.aspneti.com

www.mauriciojunior.org

 



Total de visualizações: 1337
voltar   comente  subir

Autor:


Por:Mauricio Junior
Maurício Júnior
Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog:  blog.mauriciojunior.orgSite pessoal  www.mauriciojunior.org


Comentários:


Comente (dê sua opinião): VOCÊ PRECISA ESTAR LOGADO

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

WebService - Desenvolvimento Parte 1
Novidade: Nomeação MVP Microsoft
Detectando ENTER
Chamando Programas de Dentro do Windows Forms
Ajax com Visual Studio.NET 2005
Vírus - Email com viagra
Vídeo - Criptografia e Descriptografia
Vídeo - Microsoft Surface Sphere
Conecte - netBOOKS
Vídeo: Série Atlas.NET - Parte II
Windows 7 funciona até no Mac
IsDecimal
Chama método que está dentro do COM PLUS (COM +)
Armazenando Dados no ViewState Parte II
Vídeos - Lançamento do Windows 7
Criando, utilizando e agendando sistema de backup
Vídeo: Série Atlas.NET - Parte III
Gerando uma dll com sistema web
Web abrindo aplicações locais
Ativando debug do VS no Vista
Java J2EE – Primeiro Passo
URL Indexável – Reescrever URL de uma forma amigável
Criando Splash - Com Efeito
Reconhecimento do Google
Criando Pastas no Mail com o Macbook
IsData
Fazer Log, precisa ou não precisa?
Microsoft Answers
Sistema de Catalogar Livros
Microsoft Recite
Conecte - Os games
Como fazer uma enquete - parte 2
SQLEngine Utilizando Upgrade
Permitir Teste pelo Browser no WebService
OpenWave SDK 6.2.2

Publicidade:

[sumir] [aparecer]
NETITC




Informaes Online:

Usurios Online: 725
Artigos:  655
Vdeos:  47
PodCast's:  31
Frum:  3098
Empregos:  1223
Usurios Cadastrados: 5785

Categoria de Artigos

Vdeos

Enquete - D sua opinio

 Os podcasts tem sido proveitoso pra você?

 

Colaboradores

Foto Autor autor: Mauricio Junior   
publicou 380 artigo(s).
Foto Autor autor: Júlio Battisti   
publicou 51 artigo(s).
Foto Autor autor: Fabio Galante Mans   
publicou 28 artigo(s).
Foto Autor autor: Kleber Becerra   
publicou 10 artigo(s).
Foto Autor autor: Ramon Durães   
publicou 6 artigo(s).
Foto Autor autor: Ebenézer de Souza   
publicou 5 artigo(s).
Foto Autor autor: Fabio Aguiar   
publicou 4 artigo(s).
NETITC