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

Should I be keeping references to Azure CloudTableClient/CloudTable?

我正在努力寻找一些关于我是否应该在我的 ASP.Net WebAPI 应用程序中共享 Azure Table 对象存储集实例的真正指导。

为了完整起见,从 Table 存储中检索实体如下所示。

当在数据层中集成类似这样的东西时,我有一个跨应用程序共享的单个 "Repository" 实例,保留对 CloudTable 的引用是否安全 - 与未来的操作共享它- 或者我应该为每个操作通过 tableClient.GetTableReference 重新创建 CloudTable 吗?或者甚至为每个操作重新创建 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.");

顺便说一句,非常欢迎任何有助于我在未来回答这个问题或类似问题的资源/必读。

共享对象的实例应该没问题。如果您尝试对不同的表使用不同的 authentication/configuration,那么您应该有更多的实例。