MeiRiYiCheng_2_new/netcore/YB.DeviceV2/YB.DeviceV2.HealthCheck/AdminHealthCheck.cs

45 lines
1.4 KiB
C#
Raw Normal View History

2025-07-16 17:06:16 +08:00
/****************************************************************
* liuzl
* PCXBC
* 2022/8/16 14:14:42
*
*
* PC-2022
* :
*
*****************************************************************/
using Microsoft.Extensions.Diagnostics.HealthChecks;
namespace YB.DeviceV2.HealthCheck
{
/// <summary>
/// 管理后台健康检查
/// </summary>
public class AdminHealthCheck : IHealthCheck
{
private readonly IHttpClientFactory _httpClientFactory;
public AdminHealthCheck(IHttpClientFactory httpClientFactory)
{
_httpClientFactory = httpClientFactory;
}
/// <summary>
/// 健康检查
/// </summary>
/// <param name="context"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public async Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context, CancellationToken cancellationToken = default)
{
var httpClient = _httpClientFactory.CreateClient();
var response = await httpClient.GetAsync("http://ybdevice.pcxbc.com");
if (response.IsSuccessStatusCode)
{
return HealthCheckResult.Healthy("管理后台访问正常");
}
return HealthCheckResult.Unhealthy("管理后台访问失败");
}
}
}