序列化可被定义为将对象的状态存储到存储媒介中的过程。在此过程中,对象的公共字段和私有字段以及类的名称(包括包含该类的程序集)都被转换为字节流,然后写入数据流。在以后反序列化该对象时,创建原始对象的精确复本。
当在面向对象的环境中实现序列化机制时,您需要在简化使用和保持灵活性之间进行许多权衡。只要您对该过程具有充分的控制,就可以在很大程度上自动化该过程。例如,在简单二进制序列化不充分时可能导致一些情况发生,或者可能有特定原因确定在类中哪些字段需要进行序列化。以下各节检查随 .NET Framework 一起提供的强大的序列化机制,并且重点介绍许多重要功能,您可以通过这些功能来自定义满足您需要的过程。
本节内容
- 序列化概念
讨论序列化在其中起到重要作用的两个方案:在将数据保存到存储中时以及跨多个应用程序域传递对象时。
- 基本序列化
描述如何使用二进制和 SOAP 格式化程序来序列化对象。
- 有选择的序列化
描述如何防止某些类成员被序列化。
- 自定义序列化
描述如何通过使用 ISerializable 接口为类自定义序列化。
- 版本容错序列化
说明如何创建可序列化的类型,这些类型可以随着时间的推移进行修改,而不会导致应用程序引发异常。
- 序列化指南
为决定何时序列化对象提供一些一般性指导。
参考
- System.Runtime.Serialization
包含可用于序列化和反序列化对象的类。
相关章节
- XML 和 SOAP 序列化
描述随公共语言运行库提供的 XML 序列化机制。
- 安全和序列化
描述在编写执行序列化的代码时应遵循的安全编码原则。
- 远程对象
描述 .NET Framework 中为远程通信提供的多种通信方法。
- 使用 ASP.NET 和 XML Web 服务客户端创建的 XML Web 服务
提供特定的主题,用于描述和说明如何对使用 ASP.NET 创建的 XML Web 服务进行编程。