"HealthCheck collector HostedService threw an error: Value cannot be null."是什么意思?



很明显,有些东西不能为null,但我搞不清楚。我有一个自托管的windows服务,它有一个返回HealthCheckResult的端点。然后我有一个。使用HealthChecks-UI。然而,当我启动这两个应用程序时,healthcheck ui会显示我的服务状态不好,但同时我可以点击windows服务上的url并获得健康状态。

当我看到输出时,我得到-

发送HTTP请求GET{url}

收到HTTP响应-正常

HealthCheck收集器HostedService引发错误:值不能为无效的(参数"源"(

对我来说,我得到了200的回复,但有些地方失败了。理想情况下,我会在我的应用程序中使用我想要监控的HealthChecks库,但我不能,因为它是一个windows服务。这就是为什么我选择实现我自己的,只公开一个宁静的、自托管的端点。我使用的是HealthChecks-UI的3.1版本。

启动.cs

public void ConfigureServices(IServiceCollection services)
{
services.AddHealthChecksUI()
.AddInMemoryStorage();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting()
.UseEndpoints(config => 
{
config.MapHealthChecksUI();
});
}

AppSettings.json

{
"HealthChecks-UI": {
"HealthChecks": [
{
"Name", "Windows Service", "Uri": "{myRestfulEndpoint}"
}
],
"Webhooks": []
}
}

假设您使用的是AspNetCore。诊断,检查这个github问题(特别是这个评论(。您似乎也遇到了同样的问题(如果不在WebHostBuilder中设置HostDefaults.ContentRootKey,则无法找到配置文件(。

相关内容

最新更新