适当的CloudTableClient实例生命周期?

uzu*_*zul 14 c# azure azure-storage

我正在使用新的WindowsAzure.Storage 2.0(可能不是一个令人信服的信息),我正在使用CloudTableClient实现数据访问.我见过的大多数样本都是在ASP MVC控制器的存储器中实现CloudTableClient(根据Web请求实例化).这样做有任何性能损失吗?将长时间运行的实例保持为单例样式是否明智?

mfa*_*nto 12

您需要为每个请求创建一个新的CloudTableClient实例.实例成员不是线程安全的,因此您无法共享单例.

  • 很奇怪,因为 https://docs.microsoft.com/en-us/azure/azure-functions/manage-connections 上的文档说:“为了避免持有不必要的连接,请重用客户端实例,而不是为每个实例创建新的连接函数调用。我们建议重复使用您编写函数所用的任何语言的客户端连接。例如,如果您使用单个静态客户端,则 HttpClient、DocumentClient 和 Azure 存储客户端等 .NET 客户端可以管理连接。CloudTableClient 是一个“Azure 存储客户端” (2认同)