private void PrefixEscapingTest(string prefix, string blobName) { CloudBlobClient service = GenerateCloudBlobClient(); CloudBlobContainer container = GetRandomContainerReference(); try { container.Create(); string text = Guid.NewGuid().ToString(); // Create from CloudBlobContainer. CloudBlockBlob originalBlob = container.GetBlockBlobReference(prefix + "/" + blobName); originalBlob.PutBlockList(new string[] { }); // List blobs from container. IListBlobItem blobFromContainerListingBlobs = container.ListBlobs(null, true).First(); Assert.AreEqual(originalBlob.Uri, blobFromContainerListingBlobs.Uri); CloudBlockBlob uriBlob = new CloudBlockBlob(originalBlob.Uri, service.Credentials); // Check Name Assert.AreEqual <string>(prefix + "/" + blobName, originalBlob.Name); Assert.AreEqual <string>(prefix + "/" + blobName, uriBlob.Name); // Absolute URI access from CloudBlockBlob CloudBlockBlob blobInfo = new CloudBlockBlob(originalBlob.Uri, service.Credentials); blobInfo.FetchAttributes(); // Access from CloudBlobDirectory CloudBlobDirectory cloudBlobDirectory = container.GetDirectoryReference(prefix); CloudBlockBlob blobFromCloudBlobDirectory = cloudBlobDirectory.GetBlockBlobReference(blobName); Assert.AreEqual(blobInfo.Uri, blobFromCloudBlobDirectory.Uri); // Copy blob verification. CloudBlockBlob copyBlob = container.GetBlockBlobReference(prefix + "/" + blobName + "copy"); copyBlob.StartCopy(blobInfo.Uri); copyBlob.FetchAttributes(); } finally { container.Delete(); } }