В настоящее время я выполняю проверку работоспособности моего проекта Identity ASP. NET Core 3.1 с использованием PostgreSQL и EntifyFramework Core в контейнере Docker.
Это пакеты nuget, установленные в мой проект
- Microsoft.EntityFrameworkCore 3.1.3
- Npg sql .EntityFrameworkCore. PostgreSQL 3.1.3
- Microsoft.Extensions.Diagnostics.HealthChecks. EntityFrameworkCore 3.1.3
- Microsoft.AspNetCore.Identity.EntityFrameworkCore 3.1.3
Вот мой класс Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<IdentityContext>(options => options.UseNpgsql(Configuration["Identity:ConnectionString"]));
services.AddHealthChecks()
.AddDbContextCheck<IdentityContext>("Database");
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseHealthChecks("/health");
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
Все отлично работает, я я получаю здоровый ответ с кодом состояния 200, получая доступ к конечной точке / health, пока я намеренно не остановлю контейнер PostgreSQL в моем docker.
Я ожидаю получить код состояния 503 с нездоровым ответом от / здоровье, но вместо этого получил пустой ответ с кодом состояния 200
Вот снимок результата от почтальона