预先感谢您的时间和协助。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 –