asp.net序列化与反序列化 web service

序列化:将对象转为byte[]然后转为String。可以将对象转化为可以转输的格式。

public byte[] Serializable_Data(Object obj)

{

IFormatter formatter = new BinaryFormatter();

MemoryStream ms = new MemoryStream();

byte[] b;

formatter.Serialize(ms, obj);

ms.Position = 0;

b = new byte[ms.Length];

ms.Read(b, 0, b.Length);

ms.Close();

return b;

}

/// <summary>

/// 将字节数组转为ASCII字符

/// </summary>

public string Serializable_Data(byte[] _data)

{

return Convert.ToBase64String(_data);

}

反序列化:将string转为byte[]->object。

public static Object Deserialize_Data(string data)

{

byte[] BytArray = Convert.FromBase64String(data);

IFormatter formatter = new BinaryFormatter();

MemoryStream ms = new MemoryStream();

ms.Write(BytArray, 0, BytArray.Length);

ms.Position = 0;

Object obj= (Object )formatter.Deserialize(ms);

return obj;

}

web service:网站服务

web service可以传递一个对象,但必须序列化,然后客户端引用服务端,实例化之后反序列化.

类序列化之前必须加[Serializable]