Sérialisation

Définition - Que signifie la sérialisation?

La sérialisation est le processus de conversion des informations d'état d'une instance d'objet sous une forme binaire ou textuelle pour qu'elles persistent dans un support de stockage ou soient transportées sur un réseau.

La sérialisation est exécutée par Common Language Runtime (CLR) pour enregistrer les informations d'état actuel d'un objet dans un stockage temporaire (comme le cache ASP.NET) ou permanent (fichier, base de données, etc.) afin d'être utilisé ultérieurement pour mettre à jour un objet avec ce même information. Cela implique la conversion des membres publics et privés d'un objet, y compris le nom de la classe et de l'assembly, en un flux d'octets, qui est ensuite écrit dans le flux de données. Le processus inverse de conversion d'un flux de bits en un objet est appelé désérialisation.

Le framework .NET propose deux méthodes de sérialisation, à savoir la sérialisation binaire et la sérialisation XML. La sérialisation binaire préserve l'état de l'objet entre les différents appels d'une application en préservant la fidélité de type. La sérialisation XML utilise XML comme norme ouverte pour sérialiser uniquement les propriétés et les champs publics. Il ne préserve pas la fidélité du type mais prend en charge la sérialisation dans un XML multiplateforme lisible par l'homme. Le cadre fournit de nombreuses options pour personnaliser le processus de sérialisation afin de répondre aux exigences de l'application.

Definir Tech explique la sérialisation

La sérialisation est utilisée lorsque de grandes quantités de données doivent être stockées dans des fichiers plats et récupérées ultérieurement. Pour y parvenir sans sérialisation, cela devient trop fastidieux, sujet aux erreurs et compliqué car la structure des données est complexe. La réflexion est une technique fournie par le framework .NET pour sérialiser automatiquement tous les membres d'un assembly dans le stockage. La communication à distance est un concept utilisant la sérialisation binaire pour envoyer des arguments dans des méthodes d'un ordinateur à un autre. Des exemples de son utilisation incluent l'enregistrement de l'état de session dans ASP.NET, la copie d'objets dans le presse-papiers dans Windows Forms, etc. La sérialisation (XML) est également utilisée principalement pour le partage de données sur le réseau sans restreindre l'application sur l'utilisation des données.

La sérialisation peut être implémentée dans n'importe quel objet .NET en incluant l'attribut Serializable à la classe. En marquant l'attribut OptionalField sur les membres nouvellement ajoutés de la classe, les versions antérieures de l'objet peuvent être désérialisées sans aucune erreur. Le moteur de sérialisation utilisé dans .NET Framework garantit que la sérialisation ne se produit qu'une seule fois par objet et gère automatiquement les graphiques d'objets et les références circulaires.

Cette définition a été écrite dans le contexte de .NET