private static async Task<List<FileRecord>> ReadStreamToRecords(CloudAppendBlob blob) { List<FileRecord> records = new List<FileRecord>(); using (var s = new MemoryStream()) { if (!await blob.ExistsAsync()) { return records; } await blob.DownloadRangeToStreamAsync(s, 0, blob.Properties.Length); s.Position = 0; var reader = new BinaryReader(s); var record = new FileRecord(); while (record.ReadContentFromStream(reader)) { records.Add(record); record = new FileRecord(); } } return records; }