本文整理汇总了C#中Microsoft.WindowsAzure.StorageClient.CloudBlob.DownloadByteArray方法的典型用法代码示例。如果您正苦于以下问题:C# CloudBlob.DownloadByteArray方法的具体用法?C# CloudBlob.DownloadByteArray怎么用?C# CloudBlob.DownloadByteArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.WindowsAzure.StorageClient.CloudBlob
的用法示例。
在下文中一共展示了CloudBlob.DownloadByteArray方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Mutex
// The mutex must already exists
public Mutex(CloudBlobContainer container, string mutexName, Exception e)
{
blob = container.GetBlobReference(mutexName);
byte[] b1 = { 1 };
BlobRequestOptions requestOpt = new BlobRequestOptions();
bool keepGoing = true;
string oldEtag = "";
int lastChange = 0;
do
{
byte[] b;
string eTag;
try
{
blob.FetchAttributes();
eTag = blob.Attributes.Properties.ETag;
if (eTag != oldEtag)
{
lastChange = Environment.TickCount;
oldEtag = eTag;
}
b = blob.DownloadByteArray();
}
catch (Exception)
{
throw e;
}
requestOpt.AccessCondition = AccessCondition.IfMatch(eTag);
if (b[0] == 0 || Environment.TickCount - lastChange > 3000) // on ne peut garder un lock plus de 3 s
{
try
{
blob.UploadByteArray(b1, requestOpt);
keepGoing = false;
}
catch (StorageClientException ex)
{
if (ex.ErrorCode != StorageErrorCode.ConditionFailed)
throw;
}
}
else
Thread.Sleep(50); // constante arbitraire
} while (keepGoing);
}
示例2: MoveBlob
internal static void MoveBlob(CloudBlob blob, string topath = "", string currentpath = "")
{
// Retrieve stroage account from connection string
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("StorageConnectionString"));
// Create the blob client
CloudBlobClient client = storageAccount.CreateCloudBlobClient();
CloudBlobContainer blobContainer = null;
CloudBlobDirectory toFolder = null;
CloudBlob newblob = null;
if (topath.Contains('/')) {
toFolder = client.GetBlobDirectoryReference(topath);
string filepath = blob.Name.Substring(blob.Name.IndexOf("/") + 1);
newblob = toFolder.GetBlobReference(filepath);
} else {
blobContainer = client.GetContainerReference(topath);
string filepath = blob.Name.Substring(blob.Name.IndexOf("/") + 1);
newblob = blobContainer.GetBlobReference(filepath);
}
newblob.UploadByteArray(blob.DownloadByteArray());
blob.DeleteIfExists();
}