12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- using Microsoft.Azure.Cosmos;
- using Microsoft.Azure.Cosmos.Fluent;
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace TEAMModelOS.SDK.Module.AzureCosmosDBV3
- {
- public class CosmosDBV3ClientSingleton
- {
- private static string _connectionUrl;
- private static string _connectionKey;
- private CosmosClient CosmosClient;
- private CosmosDBV3ClientSingleton() { }
- public CosmosClient GetCosmosDBClient()
- {
- if (CosmosClient != null)
- {
- return CosmosClient;
- }
- else
- {
- getInstance(_connectionUrl, _connectionKey);
- return CosmosClient;
- }
- }
- public static CosmosDBV3ClientSingleton getInstance(string connectionUrl, string connectionKey)
- {
- _connectionUrl = connectionUrl;
- _connectionKey = connectionKey;
- return SingletonInstance.instance;
- }
- private static class SingletonInstance
- {
- public static CosmosDBV3ClientSingleton instance = new CosmosDBV3ClientSingleton()
- {
- // CosmosClient =new CosmosClient(_connectionUrl, _connectionKey, new CosmosClientOptions() { AllowBulkExecution = true } )
- CosmosClient = new CosmosClientBuilder(_connectionUrl, _connectionKey).
- WithBulkExecution(true).WithConnectionModeDirect().
- //WithConnectionModeDirect().
- WithCustomSerializer(new SystemTextJsonCosmosSerializer(new System.Text.Json.JsonSerializerOptions()))
- .Build()
- //CosmosClient = new CosmosClient(_connectionUrl, _connectionKey)
- };
- //private static readonly ConnectionPolicy ConnectionPolicy = new ConnectionPolicy
- //{
- // ConnectionMode = ConnectionMode.Direct,
- // ConnectionProtocol = Protocol.Tcp
- //};
- }
- }
- }
|