public async Task GetModelAsync(IModelBasedMessage message) { // var decompressedStream = new MemoryStream(); using (var compressionStream = new GZipStream(await this.container.GetBlockBlobReference(message.MessageId).OpenReadAsync(), CompressionMode.Decompress)) { // await compressionStream.CopyToAsync(decompressedStream); using(var jsonReader = new JsonTextReader(new StreamReader(compressionStream))) { JsonSerializer s = JsonSerializer.CreateDefault(); message.SetModel(s.Deserialize(jsonReader, message.GetModelType())); } } }
public async Task SaveModelAsync(IModelBasedMessage message) { using (var compressionStream = new GZipStream(await this.container.GetBlockBlobReference(message.MessageId).OpenWriteAsync(), CompressionMode.Compress)) { using (var jsonWriter = new JsonTextWriter(new StreamWriter(compressionStream))) { JsonSerializer s = JsonSerializer.CreateDefault(); s.Serialize(jsonWriter,message.GetAndDeleteModel()); } } // var bytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(model)); // var compressedStream = new MemoryStream(); // using (var compressionStream = new GZipStream(compressedStream, CompressionMode.Compress)) // { // await compressionStream.WriteAsync(bytes, 0, bytes.Length); // } // Data = compressedStream.ToArray(); }