提前感谢您的时间和帮助。
我正在使用 Azure 客户端库(即 CloudStorageAccount - CloudBlobClient - CloudBlob)在 WPF 应用程序中下载/上传 Blob。
我想在我的 WPF 客户端应用程序中设置一个超时会话以中止获取云 blob 的尝试。这与我可以在 blob 传输会话上设置的服务器端超时不同。我想这样做是因为将使用该应用程序的 Internet 连接具有非常不稳定的间歇性连接。
换句话说,我尝试在实际数据传输之前执行 BlobContainer.FetchAttributes 以检查 Internet 连接。如果没有连接,我不想在它超时并引发异常之前等待 90 多秒。
我已经尝试在 BlobRequestOptions 中设置超时,但这不起作用,因为它仅在我建立连接后才适用。
我是否理解错误的设置或者我需要设置/配置/代码以实现更快的超时?
我可以在 Fiddler 中看到 StorageClient 库在幕后使用 HTTP,根据我阅读的一些帖子,我尝试在 app.config 中设置超时,如下所示。这也不起作用。
<configuration>
<system.web>
<httpRuntime executionTimeout="5" />
</system.web>
</configuration>
使用 BlobRequest 选项的示例超时:
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);
任何一个选项都不起作用!!