一个Hashtable序列化进数据库后取出
大家帮忙看看,报错“在分析完成之前就遇到流结尾。”序列化:
public bool Serialization(Hashtable hashtable)
{
BinaryFormatter binaryFormatter = new BinaryFormatter();
System.IO.MemoryStream ms = new System.IO.MemoryStream();
binaryFormatter.Serialize(ms, hashtable);//内存流二级制序列化
ms.Position = 0;
byte[] b = new Byte[ms.Length];
ms.Read(b, 0, b.Length);
bool flag = new Product().ss(b);
ms.Close();
return flag;
}
下面是反序列化:
byte[] b = new Product().returnSeirazation();//数据库返回
System.IO.MemoryStream ms = new System.IO.MemoryStream(b);
BinaryFormatter binaryFormatter = new BinaryFormatter();
ms.Position = 0;
Items =(Hashtable)binaryFormatter.Deserialize(ms);//报错 在分析完成之前就遇到流结尾。”
ms.Close(); --------------------编程问答-------------------- 结贴率太低! --------------------编程问答--------------------
/// <summary>--------------------编程问答-------------------- 检查序列化文件
/// 序列化发送消息
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static byte[] SerializeBinary(object request)
{
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter serializer =
new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
System.IO.MemoryStream memStream = new System.IO.MemoryStream();
serializer.Serialize(memStream, request);
//byte[] b = memStream.GetBuffer();
byte[] b = memStream.ToArray();
memStream.Close();
return b;
}
/// <summary>
/// 反序列化接收消息
/// </summary>
/// <param name="buf"></param>
/// <returns></returns>
public static object DeserializeBinary(byte[] buf)
{
if (buf == null || buf.Length == 0) return null;
System.IO.MemoryStream memStream = new System.IO.MemoryStream();
memStream.Write(buf, 0, buf.Length);
memStream.Position = 0;
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter deserializer =
new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
object newobj = deserializer.Deserialize(memStream);
memStream.Close();
return newobj;
}
IFormatter ff = new BinaryFormatter();
stream.Seek(0, SeekOrigin.Begin);
object obj = ff.Deserialize(stream);
--------------------编程问答-------------------- --------------------编程问答--------------------
补充:.NET技术 , ASP.NET