BT

Desabilitando o View-State de forma simples no ASP.NET 4.0

por Jon Arild Tørresdal , traduzido por Andre Carlucci em 02 Fev 2009 |

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.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT