使用 Azure 存储时,我发现有一种方法可以设置 timeout on blob operations和 on table operations如果您正在使用 REST。
但是,我们正在使用通过 WindowsAzure.Storage NuGet 包 (v8.4.0) 提供的 C# 客户端。我在这里看不到任何指定超时的方法
var storageAccount = CloudStorageAccount.Parse("UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://127.0.0.1"); // local storage for testing
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference("mycontainer");
container.CreateIfNotExists();
var blobReference = container.GetBlockBlobReference("my/blob.pdf");
我尝试过查看 CloudBlobClient
和 StorageAccount
上的可用属性/方法,但没有找到任何类似于超时设置的内容。
如果我可以在一个地方(在连接字符串中??)设置超时并且在所有操作中使用它,那就太理想了。但如何在 C# 客户端中执行此操作?
最佳答案
请查看ServerTimeout
属性(property) BlobRequestOptions
类。所以你的代码将是:
var storageAccount = CloudStorageAccount.Parse("UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://127.0.0.1"); // local storage for testing
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference("mycontainer");
container.CreateIfNotExists(new BlobRequestOptions()
{
ServerTimeout = TimeSpan.FromSeconds(90)
});
关于c# - 设置 Azure 存储操作的超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48710047/