我应该保留对Azure CloudTableClient / CloudTable的引用吗?

时间:2015-03-17 12:16:31

标签: asp.net azure asp.net-web-api azure-table-storage

我很难找到关于是否应该在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.");

顺便说一下,非常欢迎任何有助于我将来回答这个或类似内容的资源/必读内容。

1 个答案:

答案 0 :(得分:0)

分享对象的实例应该没问题。如果您尝试对不同的表使用不同的身份验证/配置,那么您应该有更多的实例。