为什么序列化 - 概念

Why Serialize - Concept

我明白什么是连载了。但我的问题是;为什么我们必须这样做?为什么序列化一个对象用于网络数据传输更好?它的目的是提供与技术无关的 Web 服务、速度、两者兼而有之等。

序列化允许开发人员保存对象的状态并根据需要重新创建它,提供对象存储和数据交换。
通过序列化,开发人员可以执行诸如通过 Web 服务将对象发送到远程应用程序、将对象从一个域传递到另一个域、将对象作为 XML 字符串传递通过防火墙或维护安全性等操作或跨应用程序的用户特定信息。

有几个原因:

  • 通信:如果你有两台运行相同的机器 代码,他们需要沟通,一个简单的方法是一台机器 用它想要传输的信息构建一个对象,并且 然后将该对象序列化到另一台机器。这不是最好的 沟通的方法,但它完成了工作。

  • 持久化:如果要存储特定操作的状态 在数据库中,它可以很容易地序列化为字节数组,并且 存储在数据库中供以后检索。

  • 深拷贝:如果你需要一个对象的精确副本,而不想要 不厌其烦地编写自己的专用 clone() class, 简单地将对象序列化为字节数组,然后 将其反序列化为另一个对象可实现此目标。

  • 缓存:实际上只是上面的一个应用,但有时 对象需要很多时间来构建,但只需要 10 秒 反序列化。所以,与其抓住记忆中的巨大物体,不如 只需通过序列化将其缓存到文件中,稍后再读取 在需要的时候。

勾选 URL:

https://msdn.microsoft.com/en-us/library/ms233843.aspx