Si encuentras algún detalle que no entiendes puedes dejarlo en los comentarios y haremos todo lo necesario de ayudarte rápidamente.
Solución:
Tendrá que configurar los servicios de infraestructura de comprobación de estado a través de la AddHealthChecks()
método de extensión. Por ejemplo:
public void ConfigureServices(IServiceCollection services)
services.AddHealthChecks();
Consulte también la documentación.
En mi caso, la interfaz de usuario de las comprobaciones de estado no se inicia y bloquea la aplicación de API web .net core 3.1.
Mensaje de error:Algunos servicios no se pueden construir (Error al validar el descriptor de servicio ‘ServiceType: HealthChecks.UI.Core.Notifications.IHealthCheckFailureNotifier Lifetime: Scoped ImplementationType: HealthChecks.UI.Core.Notifications.WebHookFailureNotifier’: No se puede resolver el servicio para el tipo ‘ HealthChecks.UI.Core.Data.HealthChecksDb’ al intentar activar ‘HealthChecks.UI.Core.Notifications.WebHookFailureNotifier’).
Arreglar: Agregue cualquier proveedor de almacenamiento de interfaz de usuario. En mi caso he elegido AddInMemoryStorage()
Inicio.cs
public void ConfigureServices(IServiceCollection services)
...
services.AddHealthChecks()
.AddDbContextCheck() //nuget: Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore
.AddApplicationInsightsPublisher(); //nuget: AspNetCore.HealthChecks.Publisher.ApplicationInsights
services.AddHealthChecksUI() //nuget: AspNetCore.HealthChecks.UI
.AddInMemoryStorage(); //nuget: AspNetCore.HealthChecks.UI.InMemory.Storage
...
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
...
app.UseHealthChecks("/healthcheck", new HealthCheckOptions
Predicate = _ => true,
ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse //nuget: AspNetCore.HealthChecks.UI.Client
);
//nuget: AspNetCore.HealthChecks.UI
app.UseHealthChecksUI(options =>
options.UIPath = "/healthchecks-ui";
options.ApiPath = "/health-ui-api";
);
...
appsettings.json
"HealthChecks-UI":
"DisableMigrations": true,
"HealthChecks": [
"Name": "PollManager",
"Uri": "/healthcheck"
],
"Webhooks": [
"Name": "",
"Uri": "",
"Payload": "",
"RestoredPayload": ""
],
"EvaluationTimeOnSeconds": 10,
"MinimumSecondsBetweenFailureNotifications": 60,
"MaximumExecutionHistoriesPerEndpoint": 15
Reseñas y valoraciones
Si tienes algún titubeo y forma de arreglar nuestro post te recomendamos añadir una explicación y con mucho placer lo observaremos.