Установите время ожидания для операций хранилища Azure
При работе с хранилищем Azure я вижу, что есть способ установить время ожидания для операций BLOB-объектов и таблиц, если вы работаете с REST.
Однако мы работаем с клиентом C#, предоставляемым через пакет WindowsAzure.Storage NuGet (v8.4.0). И я не вижу способа указать здесь тайм-аут
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#?
1 ответ
Решение
Посмотри на ServerTimeout
недвижимость в 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)
});