Sérialisation de base, exemple de technologie
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
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.
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
Ouvrez l'Explorateur de fichiers et accédez à l'un des sous-répertoires spécifiques aux différents langages de l'exemple.
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.
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
Accédez au répertoire qui contient le fichier exécutable créé.
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
Attribut SerializableAttribute
Espace de noms System.Runtime.Serialization
Espace de noms System.Xml.Serialization
Concepts
Contrôle de la sérialisation XML à l'aide d'attributs
Introduction à la sérialisation XML