Esempio n. 1
0
      public void UriParser_ParsingWellFormedMinimalLocalStoragePartitionName_Succeeds()
      {
         var expected = "partition";
         var url = "http://127.0.0.1:10000/account-name/partition";
         var uri = new Uri(url);

         Assert.AreEqual(expected, uri.StoragePartitionName());
      }
Esempio n. 2
0
      public void UriParser_ParsingWellFormedComplexCloudStoragePartitionName_Succeeds()
      {
         var expected = "partition";
         var url = "http://accountname.queue.core.windows.net/partition/somethingelse?SomeQueryStringForNow";
         var uri = new Uri(url);

         Assert.AreEqual(expected, uri.StoragePartitionName());
      }
 public static string GetBlobName(Uri uri)
 {
    string pathAndQuery = uri.PathAndQuery; // everything to the right of domain name
    string blobNameAndQuery = pathAndQuery.Substring(uri.StoragePartitionName().Length + 2);
       // blob name is after container...
    // ... but don't include query string (if one is present) [note: query strings are ignored by Blob Storage]
    // [http://blogs.msdn.com/b/windowsazure/archive/2011/03/18/best-practices-for-the-windows-azure-content-delivery-network.aspx]
    // ["In blob storage origin, query strings are always ignored. In particular, shared access strings cannot be used to enable CDN access to a private container."]
    string blobName = blobNameAndQuery.IndexOf('?') > 0
       ? blobNameAndQuery.Substring(0, blobNameAndQuery.IndexOf('?'))
       : blobNameAndQuery;
    return blobName;
 }
 public static bool ContainerNameIsLongEnough(Uri uri)
 {
    return uri.StoragePartitionName().Length >= MinLengthAzureBlobContainerName;
 }