File: Program.cs
Web Access
Project: src\playground\TestShop\CatalogDb\CatalogDb.csproj (CatalogDb)
using CatalogDb;
 
var builder = WebApplication.CreateBuilder(args);
 
builder.AddServiceDefaults();
builder.AddNpgsqlDbContext<CatalogDbContext>("catalogdb");
 
builder.Services.AddOpenTelemetry()
    .WithTracing(tracing => tracing.AddSource(CatalogDbInitializer.ActivitySourceName));
 
builder.Services.AddSingleton<CatalogDbInitializer>();
builder.Services.AddHostedService(sp => sp.GetRequiredService<CatalogDbInitializer>());
builder.Services.AddHealthChecks()
    .AddCheck<CatalogDbInitializerHealthCheck>("DbInitializer", null);
 
var app = builder.Build();
 
app.MapDefaultEndpoints();
 
await app.RunAsync();