gpt4 book ai didi

c# - 可以长时间保留对 Azure CloudTable 的引用吗?

转载 作者:太空狗 更新时间:2023-10-29 22:22:32 25 4
gpt4 key购买 nike

在写入或查询表存储之前,我们调用一个方法来获取对 CloudTable 的引用。

private static CloudTable GetCloudTable() {
var storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
var tableClient = storageAccount.CreateCloudTableClient();
var table = tableClient.GetTableReference("TheTableName");
return table;
}

将其放入我的表处理类的构造函数中可以接受吗?在每个表插入上运行此代码是否会产生额外的开销?在我看来,我正在增加正在运行的交易数量。

最佳答案

您的代码片段不会将任何消息发送到存储服务。仅当您使用“table”变量对存储实际创建、查询或执行任何 CRUD 操作时,才会发送实际消息。因此,“我是否可以通过在每个表插入上运行此代码来增加事务数量?”是否。

也就是说,CloudStorageAccount.Parse 和 CloudConfigurationManager.GetSetting(代码片段中的第一行)确实会产生一些开销(字符串解析和配置项检索)。因此,我肯定建议您只执行一次,然后在每个表操作中重用它们的结果(是的,将其放入构造函数中是一个选项)。

但是,CreateCloudTableClient() 返回的 CloudTableClient 对象不保证线程安全。因此,如果线程是您的环境中的一个问题(即您正在多个线程中使用类的同一实例),我建议您每次需要时创建一个新的 CloudTableClient 实例。

关于c# - 可以长时间保留对 Azure CloudTable 的引用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22677166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com