簡體   English   中英

OperationContext 使用情況 (Microsoft.WindowsAzure.Storage)

[英]OperationContext usage (Microsoft.WindowsAzure.Storage)

我將從 Azure Blob Storage 下載 blob 到 stream 並且我需要指定重試策略和超時。 這就是我使用BlobRequestOptions (WindowsAzure.Storage NuGet 包)實例來指定所有這些設置的原因。 我還想使用需要傳遞一些額外參數(AccessCondition、OperationContext)的異步方法DownloadToStreamAsync 我的代碼:

var selfieBlob = new CloudBlockBlob(GetBlobUri(requestedUrl), _credentials);
await selfieBlob.DownloadToStreamAsync(
    targetStream,
    AccessCondition.GenerateEmptyCondition(),
    _blobOptions,
    new OperationContext());

問題:

  • 我應該每次都創建一個新的 OperationContext 實例嗎?
  • 為什么它是此方法的必需參數? 似乎我不明白為什么它是如此必要。

您可以使用default(OperationContext)調用方法DownloadToStreamAsync 這與DownloadToStreamAsync的其他重載相同。 在這里檢查

await selfieBlob.DownloadToStreamAsync(
    targetStream,
    default(AccessCondition),
    _blobOptions,
    default(OperationContext));

它通常用於記錄相關性。 在此處檢查ExcecuteAsync方法實現。

關於OperationContext參數, @user1672994的答案是正確的。

參考CloudBlob.DownloadToStreamAsync方法的描述,你可以知道為什么需要參數AccessCondition 如果您沒有條件限制,可以將其設置為null

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM