Índice:
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 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 do 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 da montagem em um fluxo de bytes, que é gravado no fluxo de dados. O processo inverso de conversão de fluxo de bits em um objeto é chamado desserialização.
A estrutura .NET 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 invocações 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 os campos públicos. Ele não preserva a fidelidade de tipo, mas fornece suporte para serialização em XML de plataforma cruzada, legível por humanos. A estrutura fornece muitas opções para personalizar o processo de serialização para atender aos requisitos do aplicativo.
Techopedia explica serialização
A serialização é usada quando grandes quantidades de dados precisam ser armazenadas em arquivos simples e recuperadas posteriormente. Para conseguir isso sem serialização, torna-se muito tedioso, propenso a erros e complicado, pois a estrutura de dados é complexa. Reflexão é uma técnica que a estrutura .NET fornece para serializar automaticamente todos os membros de um assembly no armazenamento. Remoting é um conceito que usa serialização binária para enviar argumentos nos 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 aplicativo ao uso de dados.
A serialização pode ser implementada em qualquer objeto .NET, incluindo o atributo Serializable para a classe. Marcando 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 objetos e referências circulares automaticamente.
Esta definição foi escrita no contexto do .NET