基本序列化技术示例

更新:2007 年 11 月

本示例说明公共语言运行库将内存中的对象图序列化成流的能力。此示例可以使用 SoapFormatterBinaryFormatter 来进行序列化。用数据填充的链接列表可以被序列化成文件流,也可以从文件流反序列化该链接列表。上述任何一种情况都会显示该列表,这样,您就可以看到相应的结果。链接列表的类型为 LinkedList,该类型由此示例定义。

有关序列化的更多信息,请查看源代码中的注释以及 build.proj 文件。

有关使用这些示例的信息,请参见下面的主题:

Download sample

使用命令提示生成示例

  1. 使用命令提示定位到 Technologies\Serialization\Runtime Serialization\Basic 目录下语言特定的子目录之一。

  2. 根据所选的编程语言,在命令行中键入 msbuild SerializationCS.sln、msbuild SerializationJSL.sln 或 msbuild SerializationVB.sln。

使用 Visual Studio 生成示例

  1. 打开 Windows 资源管理器,定位到该示例的语言特定的子目录之一。

  2. 根据所选的编程语言,双击 SerializationCS.sln、SerializationJSL.sln 或 SerializationVB.sln 文件的图标,在 Visual Studio 中打开该文件。

  3. 在“生成”菜单中选择“生成解决方案”。

示例应用程序将在默认的 \bin 或 \bin\Debug 子目录中生成。

运行示例

  1. 定位到包含生成的可执行文件的目录。

  2. 在命令行中键入 Serialization.exe 以及所需的参数值。

    s4w7yaw2.alert_note(zh-cn,VS.90).gif说明:

    此示例生成控制台应用程序。必须使用命令提示来启动该程序,才能查看相应的输出。

备注

示例应用程序接受指示您要执行何种测试的命令行参数。要使用 SOAP 格式化程序将 10 节点列表序列化成名为 Test.xml 的文件,请使用参数 sx Test.xml 10。

例如:

Serialize.exe -sx Test.xml 10

要从上一个示例反序列化 Test.xml 文件,请使用参数 dx Test.xml。

例如:

Serialize.exe -dx Test.xml

在上面的两个示例中,命令行开关中的“x”指示您需要 XML SOAP 序列化。您可以用“b”来代替它,以使用二进制序列化。如果您想尝试对非常多的节点进行序列化,则可能需要将控制台输出重定向到某个文件。

例如:

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

下面的项目符号简要说明了此示例所使用的类和技术。

  • 运行时序列化

  • 流 I/O

    • Stream 可用于序列化和反序列化。此示例中使用的特定流类型是 FileStream 类型。然而,序列化可以用于从 Stream 派生的任何类型。

    • File 可用于创建 FileStream 对象,以便在磁盘上读取和创建文件。

    • FileStream 可用于对链接列表进行序列化和反序列化。

请参见

概念

基本序列化

使用属性控制 XML 序列化

XML 序列化简介

参考

BinaryFormatter 类

File 类

FileStream 类

IFormatter 接口

Random 类

SerializableAttribute 属性

SoapFormatter 类

Stream 类

System.IO 命名空间

System.Runtime.Serialization 命名空间

System.Xml.Serialization 命名空间

其他资源

二进制序列化

序列化

SOAP 服务

XML 和 SOAP 序列化