Partager via


Sérialisation de base, exemple de technologie

Télécharger l'exemple

Cet exemple montre la capacité du Common Language Runtime à sérialiser un graphique d'objets en mémoire dans un flux. Cet exemple peut utiliser SoapFormatter ou BinaryFormatter pour la sérialisation. Une liste liée, remplie de données, est sérialisée ou désérialisée dans un flux de fichiers ou à partir de celui-ci. Dans les deux cas, la liste est affichée afin que vous puissiez consulter les résultats. Il s'agit d'une liste liée de type LinkedList, un type défini par cet exemple.

Pour plus d'informations sur la sérialisation, consultez les commentaires inclus dans les fichiers de code source et dans les fichiers build-proj.

Pour générer l'exemple à partir de l'invite de commandes

  1. Accédez à l'un des sous-répertoires spécifiques aux différents langages dans le répertoire Technologies\Serialization\Runtime Serialization\Basic, à l'aide de l'invite de commandes.

  2. Tapez msbuild SerializationCS.sln, msbuild SerializationJSL.sln ou msbuild SerializationVB.sln à la ligne de commande, selon votre choix de langage de programmation.

Pour générer l'exemple à l'aide de Visual Studio

  1. Ouvrez l'Explorateur de fichiers et accédez à l'un des sous-répertoires spécifiques aux différents langages de l'exemple.

  2. Double-cliquez sur l'icône du fichier SerializationCS.sln, SerializationJSL.sln ou SerializationVB.sln, selon votre choix de langage de programmation, pour ouvrir le fichier dans Visual Studio.

  3. Dans le menu Générer, sélectionnez Générer la solution.

L'exemple d'application est généré dans le sous-répertoire \bin ou \bin\Debug par défaut.

Pour exécuter l'exemple

  1. Accédez au répertoire qui contient le fichier exécutable créé.

  2. Tapez Serialization.exe ainsi que les valeurs de paramètre requis, dans la ligne de commande.

    Notes

    Cet exemple génère une application console.Vous devez la lancer à l'aide de l'invite de commandes pour pouvoir afficher sa sortie.

Notes

L'exemple d'application accepte des paramètres de ligne de commande indiquant le test à exécuter. Pour sérialiser une liste de 10 nœuds dans un fichier nommé Test.xml à l'aide du formateur SOAP, utilisez les paramètres sx Test.xml 10.

Par exemple :

Serialize.exe - sx Test.xml 10

Pour désérialiser le fichier Test.xml de l'exemple précédent, utilisez les paramètres dx Test.xml.

Par exemple :

Serialize.exe - dx Test.xml

Dans les deux exemples précités, la lettre "x" dans le commutateur de ligne de commande indique que vous souhaitez effectuer une sérialisation SOAP XML. Vous pouvez utiliser à la place la lettre "b" pour effectuer une sérialisation binaire. Si vous souhaitez effectuer une sérialisation avec un très grand nombre de nœuds, il peut être intéressant de rediriger la sortie de console vers un fichier.

Par exemple :

Serialize.exe -sb Test.bin 10000 >un_fichier.txt

Les éléments de la liste suivante décrivent brièvement les classes et les technologies utilisées par cet exemple.

  • Sérialisation du runtime

    • IFormatter Utilisé pour référencer un objet BinaryFormatter ou SoapFormatter.

    • BinaryFormatter Utilisé pour sérialiser une liste liée dans un flux au format binaire. Le formateur binaire utilise un format reconnu uniquement par le type BinaryFormatter. Toutefois, les données sont concises.

    • SoapFormatter Utilisé pour sérialiser une liste liée dans un flux au format SOAP. SOAP est un format standard.

  • E/S de flux

    • Stream Utilisé pour effectuer la sérialisation et la désérialisation. Le flux spécifique utilisé dans cet exemple est de type FileStream. Toutefois, la sérialisation peut être utilisée avec n'importe quel type dérivé de Stream.

    • File Utilisé pour créer des objets FileStream afin de lire et de créer des fichiers sur le disque.

    • FileStream Utilisé pour sérialiser et désérialiser des listes liées.

Voir aussi

Référence

BinaryFormatter (classe)

Classe de fichier

Classe FileStream

Interface IFormatter

Classe aléatoire

Attribut SerializableAttribute

Classe SoapFormatter

Stream (classe)

System.IO (espace de noms)

Espace de noms System.Runtime.Serialization

Espace de noms System.Xml.Serialization

Concepts

Sérialisation de base

Contrôle de la sérialisation XML à l'aide d'attributs

Introduction à la sérialisation XML

Autres ressources

Sérialisation binaire

Sérialisation dans le .NET Framework

SOAP Service

Sérialisation XML et SOAP