广州网站开发解决方案,网页设计与制作就业前景,桂林做,网站建设如何选择前言ASP.NET Core提供运行状况检查Middleware和库#xff0c;以便于报告应用的运行状况。使用方式也很简单。引用Nuget包Microsoft.Extensions.Diagnostics.HealthChecks。然后修改Startup.cs文件:public void ConfigureServices(IServiceCollection services)
{...services.A… 前言ASP.NET Core提供运行状况检查Middleware和库以便于报告应用的运行状况。使用方式也很简单。引用Nuget包Microsoft.Extensions.Diagnostics.HealthChecks。然后修改Startup.cs文件:public void ConfigureServices(IServiceCollection services)
{...services.AddHealthChecks();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{...app.UseHealthChecks(/health);
}我们甚至可以为第三方组件比如数据库、缓存提供健康状态检查。最后访问/health来查看应用程序的健康状态这种文本方式不够直观今天我们介绍一个轻量级的图形UI通过可视化的方式进行健康检查。Demo1.引用Nuget包引用如下Nuget包AspNetCore.HealthChecks.UI
AspNetCore.HealthChecks.UI.Client
AspNetCore.HealthChecks.UI.InMemory.StorageUI支持不同的存储类型如Sql Server、MySql等这里选择直接保存到内存。2.修改Startup.cs添加UI并设置了自定义健康检查用于演示不健康状态:public void ConfigureServices(IServiceCollection services)
{...services.AddHealthChecksUI().AddInMemoryStorage();services.AddHealthChecks().AddCheckDemoHealthCheck(My IO);
}public class DemoHealthCheck: IHealthCheck
{public TaskHealthCheckResult CheckHealthAsync(HealthCheckContext context, CancellationToken cancellationToken default){if (DateTime.Now.Second 30){return Task.FromResult(HealthCheckResult.Healthy());}return Task.FromResult(HealthCheckResult.Unhealthy(不健康));}
}指定健康检查和UI的地址并且使用UIResponseWriter.WriteHealthCheckUIResponse返回json格式健康检查数据public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{...app.UseEndpoints(endpoints {endpoints.MapControllers();endpoints.MapHealthChecks(/health, new HealthCheckOptions(){Predicate _ true,ResponseWriter UIResponseWriter.WriteHealthCheckUIResponse});endpoints.MapHealthChecksUI(options options.UIPath /health-ui);});
}3.添加配置项修改appsettings.json文件HealthChecksUI: {HealthChecks: [{Name: My IO,Uri: /health}],Webhooks: [{Name: ,Uri: ,Payload: ,RestoredPayload: }],EvaluationTimeinSeconds: 10,MinimumSecondsBetweenFailureNotifications: 60}HealthChecks是个数组也就是说UI同时可以监控多个健康检查API。Webhooks用于当API的健康状态改变时向指定Uri发送告警数据。4.使用运行程序访问/health-ui即可打开UI点击Details按钮还可查看健康状态历史