public static async Task <(long, long)> GzJsonToFileAsync(object model, string fileName) { using System.IO.FileStream fs = new System.IO.FileStream(fileName, System.IO.FileMode.Create, System.IO.FileAccess.Write); using System.IO.Compression.GZipStream gz = new System.IO.Compression.GZipStream(fs, System.IO.Compression.CompressionMode.Compress); using MemoryStream memoryStream = new MemoryStream(); await ObjectToStreamAsync(model, memoryStream); await ObjectToStreamAsync(model, gz); await gz.FlushAsync(); dataSize = memoryStream.Length; compressedDataSize = gz.Length; return(dataSize, compressedDataSize); }