即可实现SoapFormatter的串行化

时间:2022-04-13 08:36:10

序列化又称串行化,是.NET运行时环境用来撑持用户界说类型的流化的机制。其目的是以某种存储形成使自界说东西长期化,或者将这种东西从一个处所传输到另一个处所。
    .NET框架供给了两种串行化的方法:1、是使用BinaryFormatter进行串行化;2、使用SoapFormatter进行串行化;3、使用XmlSerializer进行串行化。第一种方法供给了一个简单的二进制数据流以及某些附加的类型信息,而第二种将数据流格局化为XML存储;第三种其实和第二种差不久不多也是XML的格局存储,只不过比第二种的XML格局要简化很多(去失了SOAP特有的特别信息)。
    可以使用[Serializable]属性将类标识表记标帜为可序列化的。如果某个类的元素不想被序列化,1、2可以使用[NonSerialized]属性来标识表记标帜,2、可以使用[XmlIgnore]来标识表记标帜。
    1、使用BinaryFormatter进行串行化
    下面是一个可串行化的类:
    

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using
 System.Runtime.Serialization.Formatters.Binary;
/// <summary>
/// ClassToSerialize 的摘要说明
/// </summary>
[Serializable]
public class ClassToSerialize
{
    public int id = 100;
    public string name = "Name";
    [NonSerialized]
    public string Sex = "男";
}


    下面是串行化和反串行化的要领: