in Source/Services/Tailwind.Traders.Profile.Api/HealthCheck/CosmosDbHealthCheck.cs [22:46]
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);
}
}