У меня есть веб-проект api, где пользователи могут загружать изображение, и я храню его в Azure blob. Код выглядит следующим образом:Azure Blob Контейнерная резьба безопасна?
public class AzureImageHandler : IImageHandler
{
public async Task<string> StoreImage(byte[] image)
{
var storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));
var blobClient = storageAccount.CreateCloudBlobClient();
// Retrieve a reference to a container.
var container = blobClient.GetContainerReference("images");
// Create the container if it doesn't already exist.
container.CreateIfNotExists();
container.SetPermissions(
new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob });
// Retrieve reference to a blob named "myblob".
var blockBlob = container.GetBlockBlobReference("myblob");
await blockBlob.UploadFromByteArrayAsync(image, 0, image.Length);
return blockBlob.Uri.ToString();
}
}
У меня есть DI настроить с помощью Autofac и мне интересно, если какой-либо из кода поточно. Т.е. я могу иметь контейнер singleton, который все запросы используют для получения ссылки на новый blob или мне нужно каждый раз запускать весь этот метод? Я не мог узнать, был ли CloudStorageAccount/BlobClient/Container потокобезопасным.
Благодаря