クライアント シングルトンを実装する
CosmosClient
クラスの各インスタンスには、お客様に代わって既に実装されているいくつかの機能があります。
- インスタンスは既にスレッドセーフです
- インスタンスでは接続を効率的に管理します
- 直接モードで動作しているときはインスタンスによってアドレスがキャッシュされます
この動作により、1 つの .NET AppDomain
内でインスタンスを破棄して再作成するたびに、キャッシュと接続の管理のメリットが新しいインスタンスで失われます。
Azure Cosmos DB for NoSQL SDK チームでは、アプリケーションの有効期間中に、AppDomain
ごとに 1 つのインスタンスを使用することをお勧めします。 このように設定に小さな変更を加えると、SDK クライアント側のパフォーマンスを向上させて、接続管理をより効率的にすることができます。
ヒント
一般的な .NET コンソール アプリケーションでシングルトンを使用するのは簡単です。 ASP.NET Web アプリケーションの場合は、任意の依存関係挿入フレームワークを使用して、シングルトン インスタンスを作成する方法を確認する必要があります。