public async Task CheckHealthAsync()

in Source/Services/Tailwind.Traders.Product.Api/HealthCheck/CosmosDbHealthCheck.cs [23:47]


        public async Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context, CancellationToken cancellationToken = default)
        {
            try
            {
                CosmosClient cosmosDbClient;

                if (!_connections.TryGetValue(_connectionString, out cosmosDbClient))
                {
                    cosmosDbClient = new CosmosClient(_connectionString);

                    if (!_connections.TryAdd(_connectionString, cosmosDbClient))
                    {
                        cosmosDbClient.Dispose();
                        cosmosDbClient = _connections[_connectionString];
                    }
                }

                await cosmosDbClient.CreateDatabaseIfNotExistsAsync(_database);
                return HealthCheckResult.Healthy();
            }
            catch (Exception ex)
            {
                return new HealthCheckResult(context.Registration.FailureStatus, exception: ex);
            }
        }