Serialização de DataSets
Nos projetos em que estou trabalhando eu optei por utilizar as vantagens dos DataSets tipados para encapsular as entidades de negócio.
Isto traz vários benefícios para a arquitetura. Mas também traz dificuldades que precisam ser contornadas.
Uma das mais surpreendentes foi quando eu serializei um DataSet com um único registro no ViewState de uma página web, e o ViewState ficou com 64KB...
Investigando o assunto, descobri que esta mesma situação afeta projetos em camadas, na qual DataSets são usados para transferir dados entre camadas.
A serialização padrão do DataSet é um gigantesco e detalhado documento XML.
Felizmente, o framework .NET foi muito bem projetado, e dificuldades como esta podem ser contornadas.
O artigo Binary Serialization of DataSets traz uma explicação atualizada do problema. O site DataSet FAQ também tem um artigo muito bom sobre isto.
Uma das soluções mais simples é fornecida pela própria Microsoft, com código-fonte, no artigo Improving DataSet Serialization and Remoting Performance.
Este problema afeta projetos atuais. No ADO.NET 2.0 existe o recurso de serialização binária de DataSets que suporta melhor as necessidades de arquiteturas em camadas.
De qualquer modo eu imagino que as técnicas desenvolvidas para lidar com o problema hoje poderão ser combinadas com os novos recursos do ADO.NET 2.0 para obter resultados ainda melhores.

0 Comments:
Postar um comentário
<< Home