Клиент Singleton Azure Cosmos DB

Используйте одноэлементный клиент Azure Cosmos DB на протяжении всего жизненного цикла вашего приложения.

Каждый экземпляр DocumentClient является потокобезопасным и выполняет эффективное управление подключениями и кэширование адресов при работе в прямом режиме. Чтобы обеспечить эффективное управление подключением и лучшую производительность DocumentClient, рекомендуется использовать один экземпляр 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;
}

Означает ли это, что клиент может использоваться более чем для одной базы данных (т. Е. Для любого контейнера в любой базе данных)?

Как инициализировать Клиент DocumentDB как синглтон в основном приложении dotnet


person Pingpong    schedule 13.06.2019    source источник


Ответы (1)


Верный. База данных и коллекция - это параметр для каждой конкретной операции с документом, что означает, что вы можете полностью повторно использовать один и тот же клиент во многих базах данных и коллекциях.

Имейте в виду, что это означает, что между вашими базами данных или коллекциями нет разделения безопасности. Один главный ключ имеет доступ ко всему в одном ресурсе Azure Cosmos DB.

person Nick Chapsas    schedule 13.06.2019