Basic Serialization Technology Sample


Download sample

This sample demonstrates the common language runtime's ability to serialize an object graph in memory to a stream. This sample can use either the SoapFormatter or the BinaryFormatter for serialization. A linked list, filled with data, is serialized or deserialized to or from a file stream. In either case the list is displayed so that you can see the results. The linked list is of type LinkedList, a type defined by this sample.

Review comments in the source code and build.proj files for more information on serialization.

To build the sample using the Command Prompt

  1. Navigate to one of the language-specific subdirectories under the Technologies\Serialization\Runtime Serialization\Basic directory, using the command prompt.

  2. Type msbuild SerializationCS.sln, msbuild SerializationJSL.sln or msbuild SerializationVB.sln, depending on your choice of programming language, at the command line.

To build the sample using Visual Studio

  1. Open File Explorer and navigate to one of the language-specific subdirectories for the sample.

  2. Double-click the icon for the SerializationCS.sln, SerializationJSL.sln or SerializationVB.sln file, depending on your choice of programming language, to open the file in Visual Studio.

  3. In the Build menu, select Build Solution.

The sample application will be built in the default \bin or \bin\Debug subdirectory.

To run the sample

  1. Navigate to the directory containing the built executable.

  2. Type Serialization.exe, along with the parameter values you desire, at the command line.

    System_CAPS_ICON_note.jpg Note

    This sample builds a console application. You must launch it using the command prompt in order to view its output.

The sample application accepts command line parameters indicating which test you would like to execute. To serialize a 10-node list to a file named Test.xml using the SOAP formatter, use the parameters sx Test.xml 10.

For Example:

Serialize.exe -sx Test.xml 10

To deserialize the Test.xml file from the previous example, use the parameters dx Test.xml.

For Example:

Serialize.exe -dx Test.xml

In the two examples above, the "x" in the command line switch indicates that you want XML SOAP serialization. You can use "b" in its place to use binary serialization. If you wish to try serialization with a very large number of nodes, you might want to redirect the console output to a file.

For Example:

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

The following bullets briefly describe the classes and technologies used by this sample.

  • Runtime Serialization

  • Stream I/O

    • Stream Used to serialize and deserialize. The specific stream type used in this sample is the FileStream type. However, serialization can be used with any type derived from Stream.

    • File Used to create FileStream objects for reading and creating files on disk.

    • FileStream Used to serialize and deserialize linked lists.

Random class
System.IO namespace
Basic Serialization
Binary Serialization
Controlling XML Serialization Using Attributes
Introducing XML Serialization
XML and SOAP Serialization