序列化

作者: Louise Ward
创建日期: 12 二月 2021
更新日期: 26 六月 2024
Anonim
Python实用模块之pickle,序列化与反序列化
视频: Python实用模块之pickle,序列化与反序列化

内容

定义-序列化是什么意思?

序列化是将对象实例的状态信息转换为二进制或ual形式以持久存储在存储介质中或通过网络传输的过程。

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

.NET框架提供了两种序列化方法,即二进制序列化和XML序列化。二进制序列化通过保留类型保真度来保留应用程序不同调用之间的对象状态。 XML序列化使用XML作为开放标准来仅序列化公共属性和字段。它不保留类型保真度,但提供对人类可读的跨平台XML的序列化的支持。该框架提供了许多选项来定制序列化过程以满足应用程序需求。


Microsoft Azure和Microsoft Cloud简介在本指南中,您将了解什么是云计算,以及Microsoft Azure如何帮助您从云迁移和运行业务。

Techopedia解释了序列化

当必须将大量数据存储在平面文件中并在以后的阶段中检索时,可以使用序列化。为了在不进行序列化的情况下实现这一目标,由于数据结构复杂,因此变得过于繁琐,容易出错且非常复杂。反射是.NET框架提供的一种技术,用于自动将程序集的所有成员序列化到存储中。远程处理是一个使用二进制序列化对从一台计算机到另一台计算机的方法中的参数的概念。其用法的示例包括在ASP.NET中保存会话状态,在Windows窗体中在剪贴板中复制对象等。序列化(XML)也主要用于在整个网络上共享数据,而不会限制应用程序对数据的使用。

可以通过在类中包含序列化属性来在任何.NET对象中实现序列化。通过将OptionalField属性标记为该类的新添加的成员,可以反序列化对象的早期版本,而不会发生任何错误。 .NET框架中使用的序列化引擎可确保每个对象仅进行一次序列化,并自动处理对象图和循环引用。


该定义是在.NET中编写的