我正在使用新版的WindowsAzure.Storage 2.0(可能不是相关信息),并且正在使用CloudTableClient实现数据访问。我看到的大多数示例都在ASP MVC控制器的ctor中创建了一个CloudTableClient实例(每个web请求实例化一次)。 这样做会有性能惩罚吗? 是否明智地以单例方式保持长时间运行的实例?
我正在使用新版的WindowsAzure.Storage 2.0(可能不是相关信息),并且正在使用CloudTableClient实现数据访问。我看到的大多数示例都在ASP MVC控制器的ctor中创建了一个CloudTableClient实例(每个web请求实例化一次)。 这样做会有性能惩罚吗? 是否明智地以单例方式保持长时间运行的实例?
我认为在2020年你应该重用。
https://azure.microsoft.com/zh-cn/blog/performance-tips-for-azure-documentdb-part-1-2/
Lazy<T>
实现的。查看CloudTableClient文档,我意识到它不是线程安全的。
此类型的任何公共静态成员(在Visual Basic中为Shared)都是线程安全的。任何实例成员不能保证是线程安全的。
因此,可能需要为每个请求实例化它。