public object DeCompress(byte[] data)
{
try
{
using (MemoryStream memoryStream1 = new MemoryStream())
{
memoryStream1.Write(data, 0, data.Length);
memoryStream1.Seek(0L, SeekOrigin.Begin);
using (DeflateStream deflateStream = new DeflateStream((Stream)memoryStream1, CompressionMode.Decompress, true))
{
using (MemoryStream memoryStream2 = new MemoryStream())
{
byte[] buffer = new byte[32768];
while (true)
{
int count = deflateStream.Read(buffer, 0, buffer.Length);
if (count > 0)
memoryStream2.Write(buffer, 0, count);
else
break;
}
deflateStream.Flush();
memoryStream2.Seek(0L, SeekOrigin.Begin);
return new BinaryFormatter().Deserialize((Stream)memoryStream2, (HeaderHandler)null);
}
}
}
}
catch (Exception ex)
{
throw ex;
}
}