Sérialisation dans .NET

La sérialisation correspond au processus de conversion de l'état d'un objet en un formulaire persistant ou transportable. Le complément de la sérialisation est la désérialisation, qui convertit un flux de données en un objet. Ces deux processus permettent de stocker et de transférer facilement des données.

.NET propose les technologies de sérialisation suivantes :

  • La sérialisation binaire préserve le respect des types, qui permet de conserver l'état d'un objet entre plusieurs appels d'une application. Par exemple, vous pouvez partager un objet entre plusieurs applications en le sérialisant dans le Presse-papiers. Vous pouvez sérialiser un objet vers un flux, un disque, la mémoire, le réseau, et ainsi de suite. La communication à distance utilise la sérialisation pour passer des objets « par valeur » d'un ordinateur ou d'un domaine d'application à un autre.

  • La sérialisation XML et SOAP sérialise uniquement des propriétés et des champs publics, mais ne conserve pas le respect des types. Ceci est utile lorsque vous souhaitez fournir ou consommer des données sans restreindre l'application qui les utilise. XML étant une norme ouverte, elle constitue une option intéressante pour partager des données via le Web. Le protocole SOAP est également une norme ouverte et représente par conséquent une option avantageuse.

  • La sérialisation JSON sérialise uniquement des propriétés publiques, mais ne conserve pas le respect des types. JSON est une norme ouverte qui constitue une option intéressante pour partager des données via le web.

Référence

System.Runtime.Serialization
Contient des classes qui peuvent être utilisées pour sérialiser et désérialiser des objets.

System.Xml.Serialization
Contient des classes qui peuvent être utilisées pour sérialiser des objets en documents ou en flux de données au format XML.

System.Text.Json
Contient des classes qui peuvent être utilisées pour sérialiser des objets en documents ou en flux de données au format JSON.