Hoje estao sendo publicados os tres primeiros videos em portugues do Center de Desenvolvimento de Games do MSDN, eis os links: http://msdn.microsoft.com/pt-br/xna/hh264286.aspx http://msdn.microsoft.com/pt-br/xna/hh264287.aspx http://msdn.microsoft.com/pt-br/xna/hh264288.aspx Em breve entram novos videos no ar, fique sempre ligado na nossa pagina de Desenvolvimento de Games! http://msdn.microsoft.com/pt-br/xna/default.aspx Abracos! Dando inicio aos posts tecnicos do Blog, vamos falar um pouquinho sobre um assunto dentro do Guarda-Chuva que eu mais gosto, ASP.NET. Dentro de uma pagina Web, podemos ter campos de texto, DropDownLists, ListBox, etc. Neste tipo de componente muitas vezes trazemos dados de um banco de dados (ou inserimos dados no banco), que serao exibidos ao usuario para que este escolha entre opcoes dentro de uma lista, por exemplo. Basicamente, para que o estado destes componentes seja guardado, a cada vez em que a pagina sofre um refresh/requisicao, existe o ViewState. O ViewState nada mais e que uma String, onde estao informacoes sobre os componentes da pagina e sobre a propria pagina, de forma criptografada, se bem que existem mil maneiras para se descobrir o que significa a salada de caracteres que esta no ViewState. De forma pratica, se formos ao codigo-fonte de nossa pagina, poderemos ver do que se trata. Criando uma pagina simples, apenas para exemplo, inclui um ListBox com alguns itens, rodei minha aplicacao e observei o ViewState dentro do codigo fonte da pagina. Agora iremos dentro do codigo, incluir dentro do nosso componente esse atributo: Rodando nosso aplicativo, poderemos notar que o tamanho da nossa String ViewState vai diminuir: Isso porque definimos que o ViewState deve ser desabilitado e, com isso, as informacoes sobre o nosso componente nao serao armazenadas a cada requisicao/refresh da pagina. O tamanho menor de ViewState vai te trazer beneficios quanto a performance da pagina, ja que a String que sera enviada e menor. Porem, isso depende da utilizacao, ja que o ViewState pode aumentar o desempenho, no caso de um componente que receba alguma informacao do seu Banco de Dados, ja que ele nao precisara fazer inumeras consultas no banco para ter essas informacoes exibidas. Mas ai vem a pergunta, como farei se eu precisar de ViewState em alguns componentes e em outros nao? No .NET Framework 4 isso e possivel, podemos setar o modo de ViewState para cada componente, diminuindo assim o tamanho da String do ViewState, mas utilizando-a quando for necessario. Na pagina de exemplo, inclui um DropDownList com alguns itens, da mesma forma que eu fiz no ListBox. So que nesse caso coloquei o ViewStateMode como habilitado, ja que precisarei das informacoes que virao do meu banco (por exemplo). Rodando nossa aplicacao podemos ver que o ViewState aumentou, gracas aos nossos itens do DropDownList: Ja se habilitarmos ambos, teremos um ViewState ainda maior (Coloquei no inicio da nossa pagina, para esse atributo ser utilizado na pagina toda): Observem o ViewState: Ou seja, com o .NET Framework 4 temos a possibilidade de controlar o ViewState de acordo com o que precisarmos na nossa pagina, sem ter que se explicar para o pessoal da Infra depois, pelo excesso de banda que esta sendo utilizada pela sua aplicacao! =)