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]

posted @ 2008-11-23 17:59  alex hu  阅读(1469)  评论(0编辑  收藏  举报