Serialização

Definição - o que significa serialização?

Serialização é o processo de converter as informações de estado de uma instância de objeto em um formato binário ou textual para persistir em um meio de armazenamento ou transportado por uma rede.

A serialização é executada pelo Common Language Runtime (CLR) para salvar as informações de estado atual de um objeto em um armazenamento temporário (como cache ASP.NET) ou permanente (arquivo, banco de dados, etc.) para ser usado posteriormente para atualizar um objeto com este mesma informação. Envolve a conversão de membros públicos e privados de um objeto, incluindo o nome da classe e o assembly em um fluxo de bytes, que é então gravado no fluxo de dados. O processo reverso de conversão de fluxo de bits em um objeto é chamado de desserialização.

O .NET framework oferece dois métodos de serialização, a saber, serialização binária e serialização XML. A serialização binária preserva o estado do objeto entre diferentes chamadas de um aplicativo, preservando a fidelidade do tipo. A serialização XML usa XML como um padrão aberto para serializar apenas as propriedades e campos públicos. Ele não preserva a fidelidade do tipo, mas fornece suporte para serialização em XML de plataforma cruzada legível. A estrutura oferece muitas opções para personalizar o processo de serialização para atender aos requisitos do aplicativo.

Definirtec explica a serialização

A serialização é usada quando grandes quantidades de dados precisam ser armazenados em arquivos simples e recuperados em um estágio posterior. Para conseguir isso sem serialização, torna-se muito tedioso, sujeito a erros e complicado, pois a estrutura de dados é complexa. Reflexão é uma técnica que o .NET framework fornece para serializar automaticamente todos os membros de um assembly no armazenamento. Remoting é um conceito que usa serialização binária para enviar argumentos em métodos de um computador para outro. Exemplos de seu uso incluem salvar o estado da sessão no ASP.NET, copiar objetos na área de transferência no Windows Forms, etc. A serialização (XML) também é usada principalmente no compartilhamento de dados pela rede sem restringir o uso dos dados pelo aplicativo.

A serialização pode ser implementada em qualquer objeto .NET incluindo o atributo Serializable para a classe. Ao marcar o atributo OptionalField para os membros recém-adicionados da classe, as versões anteriores do objeto podem ser desserializadas sem nenhum erro. O mecanismo de serialização usado no .NET framework garante que a serialização ocorra apenas uma vez por objeto e lida com gráficos de objeto e referências circulares automaticamente.

Esta definição foi escrita no contexto do .NET