Public static byte [] compress (Dataset DS)
{
Binaryformatter SER = new binaryformatter ();
Memorystream MS = new memorystream ();
// Binary is serialized as binary content. It can only be used in ADO. NET 2.0
DS. remotingformat = serializationformat. Binary;
// Serialize to memorystream
Ser. serialize (MS, DS );
// Compressed memorystream
Memorystream compressms = new memorystream ();
// Write the compressed memorystream
Gzipstream compressedstream = new gzipstream (compressms, compressionmode. Compress, true );
Compressedstream. Write (Ms. toarray (), 0, ms. toarray (). Length );
Return compressms. toarray ();
}
Public static dataset decompress (byte [] data)
{< br> memorystream uncompressms = new memorystream ();
memorystream compressms = new memorystream (data );
gzipstream decompressedstream = new gzipstream (uncompressms, compressionmode. decompress, true);
decompressedstream. write (compressms. toarray (), 0, compressms. toarray (). length);
binaryformatter SER = new binaryformatter ();
return (Dataset) Ser. deserialize (uncompressms);
}
After comparison, there are obvious advantages in using compression and not using compression, which is about 10 of the traffic.