PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

序列化是什么意思

青灯夜游
青灯夜游 原创
2018-11-14 18:05:33 10905浏览

本篇文章给大家介绍序列化是什么意思?让大家对序列化有一个初步的了解。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

序列化是什么意思?

序列化(XML)是将对象实例的状态信息转换为二进制或文本形式以便持久存储到存储介质或通过网络传输的过程。简单来说,序列化是将具有子对象的对象实例转换为线性字节流的过程。

序列化由公共语言运行时(CLR)执行,以将对象的当前状态信息保存到临时(如ASP.NET缓存)或永久存储(文件,数据库等),以便以后用于更新对象相同的信息。它涉及将对象的公共成员和私有成员(包括类和程序集的名称)转换为字节流,然后将其写入数据流。将比特流转换为对象的逆过程称为反序列化。

.NET框架提供了两种序列化方法,即二进制序列化和XML序列化。

二进制序列化通过保留类型保真度来保留应用程序的不同调用之间的对象状态。

XML序列化使用XML作为开放标准,仅序列化公共属性和字段。它不保留类型保真度,但为人类可读的跨平台XML中的序列化提供支持。

.NET框架还提供了许多选项来自定义序列化过程以满足应用程序要求。

如何实现序列化?

当大量数据必须存储在平面文件中并在稍后的阶段检索时,使用序列化。要做到这一点,如果没有了序列化,它就变得过于乏味,容易出错和复杂的数据结构是复杂的。

反射是.NET框架提供的一种技术,用于自动将程序集的所有成员序列化为存储。

远程处理是一种使用二进制序列化的方法,将方法中的参数从一台计算机发送到另一台计算机。它的使用示例包括将会话状态保存在ASP.NET中、将对象复制到Windows窗体的剪贴板中,等等。

序列化(XML)主要用于跨网络共享数据,而不限制应用程序对数据的使用。

通过将可序列化的属性包含到类中,可以在任何.NET对象中实现序列化。

通过将OptionalField属性标记为新添加的类成员,可以毫无错误地让对象的早期版本进行反序列化。

NET框架中使用的序列化引擎确保每个对象只进行一次序列化,并自动处理对象图和循环引用。

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。