Table des matières:
Définition - Que signifie la sérialisation?
La sérialisation est le processus de conversion des informations d'état d'une instance d'objet en une forme binaire ou textuelle pour persister dans un support de stockage ou transporté sur un réseau.
La sérialisation est exécutée par Common Language Runtime (CLR) pour enregistrer les informations sur l'é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êmes informations. 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 du 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érentes invocations d'une application en préservant la fidélité de type. La sérialisation XML utilise XML comme standard ouvert pour sérialiser uniquement les propriétés et les champs publics. Il ne préserve pas la fidélité des types mais fournit un support pour la sérialisation en XML multiplateforme lisible par l'homme. Le cadre fournit de nombreuses options pour personnaliser le processus de sérialisation pour répondre aux exigences de l'application.
Techopedia 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 assemblage dans le stockage. La communication à distance est un concept utilisant la sérialisation binaire pour envoyer des arguments dans les 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 principalement utilisée pour partager des 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 aux 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'objet et les références circulaires.
Cette définition a été écrite dans le contexte de .NET