預先感謝您的時間和協助。Azure StorageClient客戶端超時
我正在使用Azure客戶端庫(即CloudStorageAccount - CloudBlobClient - CloudBlob)在WPF應用程序中下載/上傳blob。
我想在我的WPF客戶端應用程序中設置一個超時會話以終止嘗試獲取雲BLOB。這不同於我可以在blob傳輸會話上設置的服務器端超時。我想這樣做的互聯網連接應用程序將使用非常不穩定的間歇性連接。
換句話說,我在嘗試在實際數據傳輸前檢查BlobContainer.FetchAttributes以檢查互聯網連接。如果沒有連接,我不想在超時前等待90秒,並引發異常。
我已經嘗試在BlobRequestOptions中設置超時,但這不起作用,因爲它只適用於我有一個連接。
我瞭解設置錯誤還是有其他需要設置/配置/代碼來實現更快的超時?
我可以在Fiddler中看到StorageClient庫在幕後使用HTTP,根據我讀過的一些帖子,我嘗試在app.config中設置超時,如下所示。這也沒有用。使用BlobRequest選項
<configuration>
<system.web>
<httpRuntime executionTimeout="5" />
</system.web>
</configuration>
樣品超時:
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
blobContainer = blobClient.GetContainerReference("abcd");
CloudBlob blob = blobContainer.GetBlobReference(aCloudPath);
BlobRequestOptions bro = new BlobRequestOptions()
{ Timeout = TimeSpan.FromSeconds(5) };
blob.DownloadToFile(aLocalPath, bro);
要麼選擇不工作!
謝謝Sandrino。我現在知道如何處理我的問題。 –
我相信這是一個更簡單的方法來禁用重試:'blobClient.RetryPolicy = RetryPolicies.NoRetry();' –
好!完全忘記了NoRetry –