Partager via


Stockage persistant

Il est souvent nécessaire de stocker la valeur des champs d'un objet sur un disque pour pouvoir récupérer ces données ultérieurement. Bien que cela soit facile à accomplir sans utiliser la sérialisation, cette méthode est souvent fastidieuse et susceptible d'entraîner des erreurs. Elle devient en outre de plus en plus complexe lorsque vous devez suivre une hiérarchie d'objets. Imaginez que vous deviez enregistrer des données au sein d'une grande application d'entreprise qui contient des milliers d'objets et que vous deviez écrire du code pour enregistrer et restaurer des champs et propriétés sur et à partir d'un disque pour chaque objet. La sérialisation offre un mécanisme pratique permettant d'atteindre cet objectif.

Le Common Language Runtime gère la manière dont les objets sont stockés en mémoire et fournit un mécanisme de sérialisation automatisé à l'aide de la réflexion. Lorsqu'un objet est sérialisé, le nom de la classe, l'assembly et toutes les données membres de l'instance de classe sont écrits sur le support de stockage. Les objets stockent souvent des références à d'autres instances dans les variables membres. Lorsque la classe est sérialisée, le moteur de sérialisation effectue un suivi des objets référencés et déjà sérialisés, pour garantir qu'un même objet n'est pas sérialisé plusieurs fois. L'architecture de sérialisation fournie avec le .NETFramework gère correctement et de manière automatique des graphiques d'objets et des références circulaires. La seule spécification définie pour les graphiques d'objets est que tous les objets, référencés par objet sérialisé, doivent également être marqués comme Serializable (pour plus d'informations, consultez Sérialisation de base). Si tel n'est pas le cas, une exception est levée lorsque le sérialiseur tente de sérialiser l'objet non marqué.

Lorsque la classe sérialisée est désérialisée, elle est recréée et les valeurs de toutes les données membres sont restaurées automatiquement.

Voir aussi

Autres ressources

Concepts de sérialisation
Remote Objects
Sérialisation XML et SOAP

Footer image

Copyright ©2007 par Microsoft Corporation. Tous droits réservés.