terça-feira, 8 de outubro de 2002

Uma dica de performance (.NET)

Com certeza muitos de nós ficamos pasmos de ver a flexibilidade oferecida pelo Visual Studio.NET. São labels, buttons e uma série de WebControls que podem ser utilizados em seus webforms.


Mas isso pode causar um problema muito simples, que foi o meu caso:


Estava desenvolvendo uma aplicação utilizando C#, no ínicio parecia um casamento, minha aplicação foi desenvolvida com rapidez e seu tempo de execução era aceitável até o momento que decidi acessar o relatório utilizando um modem...pior ainda, chamei uma página que montava um relatório enorme, com tudo que tinha direito.


O que eu fazia, fascinado com a possibilidade de utilizar um label..criei um e o utilizava normalmente, mas isso gera um tráfego CLIENT->SERVIDOR imenso dependendo do que você envia ao servidor.


Se fosse um texto pequeno e simples tudo bem, mas era um texto enorme. Como o .NET mantem o estado dos componentes de sua página, ele tem que enviar de alguma maneira para poder tratar junto com uma série de informações.


Resumindo, o campo hidden "__ViewState" carregava além de todo meu texto criptografado, ainda enviava as informações padrões e o conteúdo de outros objetos de minha página.


No fim acabei fazendo da maneira antiga para o texto enorme:


<% Response.Write( meuhtml ); %>


A velocidade de download diminui e a aplicação podemos dizer que chegou mais rápido no cliente.


Parece besteira, mas é bom prestar atenção ;)



Esta matéria foi postada originalmente no ASP4Developers por André Guergolet (site), que na época era "Desenvolvedor de aplicativos voltados a WEB à 3 anos. Atualmente trabalha com aplicativos de monitoração de redes utilizando .NET e outros recursos.". Hoje, vai saber...

1 comentários:

Anônimo disse...

[Enviado originalmente em 07/nov/2002 19:20:25]:

Não seria só trocar o Viewstate dos componentes q não precisam desta função para False e assim controlar a performance?