我应该保留对 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,那么您应该有更多的实例。
我正在努力寻找一些关于我是否应该在我的 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,那么您应该有更多的实例。