ASP. NET EF Core Health Check Возвращает только состояние 200 - PullRequest
0 голосов
/ 23 апреля 2020

В настоящее время я выполняю проверку работоспособности моего проекта 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

Вот снимок результата от почтальона enter image description here

...