namespace Ordering.BackgroundTasks { using HealthChecks.UI.Client; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Diagnostics.HealthChecks; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Ordering.BackgroundTasks.Extensions; using Ordering.BackgroundTasks.Services; public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } public virtual void ConfigureServices(IServiceCollection services) { services.AddCustomHealthCheck(this.Configuration) .Configure(this.Configuration) .AddOptions() .AddHostedService() .AddEventBus(this.Configuration); } public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory) { app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapHealthChecks("/hc", new HealthCheckOptions() { Predicate = _ => true, ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse }); endpoints.MapHealthChecks("/liveness", new HealthCheckOptions { Predicate = r => r.Name.Contains("self") }); }); } } }