序列化:将对象转为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]