我很难找到关于是否应该在ASP.Net WebAPI应用程序中共享Azure Table Storage对象集的实际指导。
为完整起见,从Table Storage检索实体如下所示。
在数据层中集成这样的东西时,我有一个"存储库"在应用程序中共享实例,保持对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.");
顺便说一下,非常欢迎任何有助于我将来回答这个或类似内容的资源/必读内容。
答案 0 :(得分:0)
分享对象的实例应该没问题。如果您尝试对不同的表使用不同的身份验证/配置,那么您应该有更多的实例。