Desabilitando o View-State de forma simples no ASP.NET 4.0
O ASP.NET 4.0 oferece um novo mecanismo para habilitar/desabilitar o view-state, deixando seu controle muito mais simples que anteriormente. Para armazenar seu estado, controles ASP.NET têm utilizado o view-state, habilitado por padrão até agora. Este comportamento resulta algumas vezes em grandes quantidades de dados sendo trafegados entre o cliente e o servidor.
Uma completa explicação do papel do view-state no ASP.NET pode ser encontrada no post Truly Understanding Viewstate, de Dave Reed, escrito em agosto de 2006. É leitura recomendada para todos os desenvolvedores trabalhando com a plataforma ASP.NET. Assim como Dave fala, "View-state é um conceito muito mal entendido", e deve ser usado com cuidado. Desenvolvedores que não compreendem como o view-state funciona, podem ficar surpresos ao olhar o HTML retornado ao navegador. Se ele não estiver ciente de como o view-state é usado, o tamanho da página retornada ao usuário pode ser extremamente grande, resultando em websites com baixa performance em potencial.
Na PDC2008, Scott Hunter, Program Manager para o ASP.NET, falou sobre o roadmap do ASP.NET 4.0. Em sua apresentação, ele explicou as diferenças do view-state nesta versão:
Nós vamos dar o que chamamos de controle granular do view-state. Isto significa que você poderá desligá-lo em uma página e somente ligá-lo para os controles que você escolher, ao invés de fazer este controle em milhares de lugares. Então será muito mais fácil dizer: Eu o quero desligado para a página, mas ligado para estes três controles e pronto.
Para resumir, isso nos dá o direito de:
- Desabilitar na página, habilitar em controles específicos
- Desabilitar no controle, habilitar em controles-filhos
Da mesma forma, foi prometido que o GridView/ListView funcionará melhor sem o view-state.
Foi perguntando ao Scott se o view-state seria desabilitado por padrão durante uma entrevista feita pelo podcast getpixel8ed.com, também gravada durante a PDC2008:
Isso ainda está no ar. Eu gostaria que fosse o padrão. Talvez se você estiver criando uma aplicação 4.0 será desabilitado por padrão, enquanto obviamente se estiver desenvolvendo para várias versões incluindo 3.5 ou 2.0, você terá o comportamento original.
A apresentação completa de Scott na PDC sobre o roadmap do ASP.NET contém mais informações sobre o que vai mudar no ASP.NET 4.0.
Conteúdo educacional
Lean na Globo.com
Bernardo Heynemann 24 Mai, 2013
Mobilidade: Frameworks, SOs e o Mercado
Ricardo Ogliari 23 Mai, 2013
Caminhos de uma estratégia mobile
Sérgio Lopes 23 Mai, 2013
Complexidade organizacional no Século 21
Alexandre Magno 16 Mai, 2013

Olá visitante
Você precisa cadastrar-se no InfoQ Brasil ou Login para enviar comentários. Há muitas vantagens em se cadastrar.Obtenha o máximo da experiência do InfoQ Brasil.
Dê sua opinião