using System.IO;
using System.IO.Compression;
using System.Reflection;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
public static string Serialize(object obj)
{
MemoryStream stream = new MemoryStream();
GZipStream serializationStream = new GZipStream(stream, CompressionMode.Compress);
new BinaryFormatter().Serialize(serializationStream, obj);
serializationStream.Dispose();
return Convert.ToBase64String(stream.ToArray());
}
public static object Deserialize(string base64Str)
{
BinaryFormatter formatter = new BinaryFormatter();
MemoryStream stream = new MemoryStream(Convert.FromBase64String(base64Str));
GZipStream serializationStream = new GZipStream(stream, CompressionMode.Decompress);
return formatter.Deserialize(serializationStream);
}