对大多数应用程序而言,需要在非运行期间传送对象的状态或以某种方式存储有用的数据,使这些有用信息不会丢失。这些数据要么显示给用户,要么存储起来或传送给另一个应用程序。串行技术就是提供在非运行期间移动对象状态转换为字节流的技术。串行的定义就是获取一个对象并将他转换成一种可以在网络上传输或者输送到某个存储单元的格式的过程。存储单元就像是一个文件或者数据库。串行的格式包含对象的状态信息,而反串行就是使用串行的状态信息将对象从串行状态还原成原始状态的过程。
从本质上说,串行过程允许对象被串行、被远程调用并在网络上载运或者输送到某个存储单元如ASP.NET缓存区,为了在以后的某个时间内及时使用而进行重建。串行化技术允许存储对象在文件、数据库、或者ASP会话状态中反串行。
2 串行技术
在VB.NET编程平台上有2种不同的串行化机制串行化和深串行化L1)。分3种串行对象的格式:二进位、SOAP和XML,即浅串行化为XML格式,深串行化为SOAP格式或二进位格式。格式的控制是建立在使用何种对象来执行串行基础之上。XML格式可通过使用Systern.Xml.
Serialization.XmlSerializer类创建。SOAP和二进位格式可通过在System.Runtime.Seria-1izatlon.F。rmatters命名空间内使用类来创建。选择哪种串行化机制来串行化取决于使用的场合
(1)浅串行化为XML格式
XML串行化器提供了一种快捷而方便的方式来浅串行化对象的状态。XML串行化非常适合不同类型的应用程序集成和交互操作,例如Web服务。使用XML串行化可以把对象数据编码为Unicode,UTF8等,其实质是一种基于文本的数据格式化技术。下面说明使用属性来控制XML串行,由XmlSerializer执行的对象串行可用的属性如下:
①XmlAttributeAttribute:子句将作为XML属性串行。
②XmlElementAttribute:域或者属性作为XML要素串行。
③XmllgnoreAttribute:串行时忽略域或者属性。
④XmlRootAttribute:代表XML文档的根要素名,只适用于类。
XML串行代码下列代码定义了一个类,他用于演示某些XML串行控制属性的使用。