Я изо всех сил пытаюсь найти какое-то реальное руководство по поводу того, должен ли я делиться экземплярами набора объектов Azure Table Storage в моем приложении ASP.Net WebAPI.Должен ли я хранить ссылки на Azure CloudTableClient/CloudTable?
Для полноты получения объекта из хранилища таблиц выглядит следующим образом.
При объединении чего-то подобного в слое данных, где у меня есть один экземпляр «Репозиторий», общий для приложения, безопасно ли хранить ссылку на CloudTable
- делиться ею с будущими операциями - или я должен воссоздавать CloudTable
через tableClient.GetTableReference
для каждой операции? Или, возможно, даже воссоздать CloudTableClient
для каждой операции?
// Retrieve the storage account from the connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));
// Create the table client.
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
// Create the CloudTable object that represents the "people" table.
CloudTable table = tableClient.GetTableReference("people");
// Create a retrieve operation that takes a customer entity.
TableOperation retrieveOperation = TableOperation.Retrieve<CustomerEntity>("Smith", "Ben");
// Execute the retrieve operation.
TableResult retrievedResult = table.Execute(retrieveOperation);
// Print the phone number of the result.
if (retrievedResult.Result != null)
Console.WriteLine(((CustomerEntity)retrievedResult.Result).PhoneNumber);
else
Console.WriteLine("The phone number could not be retrieved.");
Как и в сторону, какие ресурсы/должн читает которые помогли бы мне ответить на этот или подобный в будущем очень приветствуются.
Можете ли вы расширить это? К сожалению, единственная документация, которую я могу найти, - это типичный вариант: «Любые члены экземпляра не гарантируются потокобезопасностью». Это означало бы, что требуется воссоздать весь набор объектов для каждого запроса. – dlras2