private static void CreateForTest(CloudBlockBlob blob, int blockCount, int blockSize, bool isAsync, bool commit = true) { byte[] buffer = GetRandomBuffer(blockSize); List<string> blocks = GetBlockIdList(blockCount); using (AutoResetEvent waitHandle = new AutoResetEvent(false)) { foreach (string block in blocks) { using (MemoryStream stream = new MemoryStream(buffer)) { if (isAsync) { IAsyncResult result = blob.BeginPutBlock(block, stream, null, ar => waitHandle.Set(), null); waitHandle.WaitOne(); blob.EndPutBlock(result); } else { blob.PutBlock(block, stream, null); } } } if (commit) { if (isAsync) { IAsyncResult result = blob.BeginPutBlockList(blocks, ar => waitHandle.Set(), null); waitHandle.WaitOne(); blob.EndPutBlockList(result); } else { blob.PutBlockList(blocks); } } } }