Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
670
Assunto : ASP.NET
Titulo: Otimização do cache em datagrids com paginação

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



É muito comum montarmos páginas com datagrids paginadas, da mesma forma que é comum usarmos o recurso de outputcache para otimizarmos o acesso a essas páginas.

Porém normalmente usamos o atributo varybyparam="*" , a principio necessário para que a paginação funcione.

Quando usamos esse atributo estamos dizendo que desejamos que o cache seja armazenado de forma distinta para cada conjunto de parâmetros que forem usados para chamar a página. Esses parâmetros, no caso, são os campos hidden, o que inclui o viewState.

Imagine a seguinte sequencia : chamamos a página pelo browser e vemos a grid. Navegamos para a página 3. Navegamos para a página 5. Navegamos novamente para a página 3.

A página 3 já deveria estar em cache e assim evitar processamento, correto ?

Mas não é isso que ocorre ! Porque quando usamos o * no varybyparam incluimos o viewstate como um dos parâmetros. Ao ir da página 1 para a 3 o viewstate tem um valor (estamos na página 1 o viewstate guarda isso), mas quando vamos da página 5 para a 3 o viewstate tem outro valor, consequentemente a página 3 será reprocessada sem necessidade.

Desta forma, para garantirmos uma maior otimização da exibição da grid podemos usar a tag outputcache da seguinte forma :

<%@ outputcache duration="60" varybyparam="__EVENTTARGET" %>

__EVENTTARGET é um campo hidden gerado pelo ASP.NET que contém o nome do objeto que causou o postback. Cada numero de página gera um nome diferente, desta forma conseguimos otimizar o cache para cada página da grid.

Limitações :

- Funcionará apenas se o objeto de paginação da grid estiver exibindo números. Se estiver apenas com next e previous não funcionará

- Funcionará apenas para grids com paginação simples. Se houverem botões ou outros objetos na grid causando postback isso não funcionará.



Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br