Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
816
Assunto : ASP.NET
Titulo: Otimizando a geração do viewState com uso da sessã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



O ASP.NET faz muito uso do campo hidden __VIEWSTATE para guardar informações sobre os webControls através dos postbacks.

O problema é que o ViewState pode crescer muito, especialmente quando utilizando gridViews. Esse crescimento afeta a performance do site, pois as paginas ficam maiores, consumindo mais transferência entre o servidor e o client.

Uma solução para isso é armazenarmos o viewState no ambiente de sessão. Desta forma o estado dos webControls estarã em sessão e não na página, evitando uma grande transferência.

Isso é possível desde o .NET 1.1, mas ficou muito mais fácil com o uso de pageAdapters no .NET 2.0

Primeiramente criamos uma classe pageAdapter e fazemos overrides no método que gera o objeto de persistência, substituindo o objeto por uma persistência em sessão :

Imports Microsoft.VisualBasic

Public Class MeuAdapter
Inherits System.Web.UI.Adapters.PageAdapter

Public Overrides Function GetStatePersister() As System.Web.UI.PageStatePersister

Return (New SessionPageStatePersister(Me.Page))
End Function

End Class

Depois configuramos o pageAdapter no web.config de forma que seja utilizado por todas as páginas :

<browsers>
<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.Page"
adapterType="MeuAdapter" />
</controlAdapters>
</browser>
</browsers>


Pronto, o viewState das páginas estará sendo guardado em sessão ao invés de ser gerado na página.

Mas fique atento : Se a sessão estiver no stateServer ou SQLServer a performance pode piorar ao invés de melhorar. Faça testes cuidadosos nesses casos.


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 9/10/2017 4:34:00 PM
nome: PGkHJgKQir
email: ec12342vtv@hotmail.com
comentário:
apBEwt http://www.FyLitCl7Pf7ojQdDUOLQOuaxTXbj5iNG.com

data: 1/31/2017 10:44:00 AM
nome: GRTwWRsfUghmPcKQ
email: derby451@hotmail.com
comentário:
PFZOFK http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 8:01:00 AM
nome: XljRmLzFFnTDmQjDr
email: jogcbfn@hotmail.com
comentário:
SFUlZE http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 7:54:00 AM
nome: OoItKxNJRex
email: derby451@hotmail.com
comentário:
n5kr3H http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/7/2017 4:03:00 PM
nome: qqoKXRDVUZwvfCh
email: jfvynms4281rt@hotmail.com
comentário:
hHY3lz http://www.FyLitCl7Pf7ojQdDUOLQOuaxTXbj5iNG.com

 1  
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