Клиент БД Singleton Azure Cosmos - PullRequest
0 голосов
/ 13 июня 2019

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

Каждый экземпляр DocumentClient является поточно-ориентированным и эффективно работает управление подключением и кэширование адресов при работе в Direct Режим. Чтобы обеспечить эффективное управление подключением и лучшую производительность DocumentClient рекомендуется использовать один экземпляр DocumentClient на AppDomain в течение срока службы приложения.

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 как Singleton в основном приложении dotnet

1 Ответ

1 голос
/ 13 июня 2019

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

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

...