【问题标题】:Singleton Azure Cosmos DB client单例 Azure Cosmos DB 客户端
【发布时间】:2019-06-14 01:17:50
【问题描述】:

在您的生命周期内使用单例 Azure Cosmos DB 客户端 应用

每个 DocumentClient 实例都是线程安全的并且执行高效 在 Direct 中操作时的连接管理和地址缓存 模式。允许有效的连接管理和更好的性能 通过 DocumentClient,建议使用单个实例 应用程序生命周期内每个 AppDomain 的 DocumentClient。

https://docs.microsoft.com/en-us/azure/cosmos-db/performance-tips

services.AddSingleton<IDocumentClient>(x => new DocumentClient(UriEndpoint, MasterKey));

private readonly IDocumentClient _documentClient;
public HomeController(IDocumentClient documentClient){
    _documentClient = documentClient;
}

这是否意味着客户端可以用于多个数据库(即任何数据库中的任何容器)?

How do you initialize DocumentDB client as a Singleton in a dotnet core application

【问题讨论】:

    标签: azure azure-cosmosdb azure-cosmosdb-sqlapi


    【解决方案1】:

    正确。数据库和集合是每个文档特定操作的参数,这意味着您可以在许多数据库和集合中完全重用同一个客户端。

    请记住,这意味着您的数据库或集合之间没有安全隔离。单个主密钥可以访问单个 Azure Cosmos DB 资源中的所有内容。

    【讨论】:

      猜你喜欢
      • 2019-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-21
      相关资源
      最近更新 更多