麻烦用GZip反序列化

时间:2016-06-06 14:26:15

标签: c# .net serialization gzip

当我在没有GZip的情况下反序列化时,已经完成了。但是在使用GZip进行反序列化时,我发生了反序列化错误。

序列化:

using (MemoryStream ms = new MemoryStream())
{
    using (var compressionStream = new GZipStream(ms, CompressionMode.Compress))
    {
        serializator.Serialize(compressionStream, obj);
    }
    byte[] result = ms.ToArray();
    return result;
}

反序列化:

using (MemoryStream ms = new MemoryStream(_objBytes))
{
    using (GZipStream decompressionStream = new GZipStream(ms, CompressionMode.Decompress))
    {
        return serializator.Deserialize(decompressionStream, null, objType, _objBytes.Length);
    }
}

1 个答案:

答案 0 :(得分:1)

如评论中所述,字节数是错误的。你为什么要指定它?您可以使用不带长度参数的重载:

sql.ErrNoRows