C# HealthCheckUI不显示依赖项(如CosmosDB)的状态

C# HealthCheckUI不显示依赖项(如CosmosDB)的状态,c#,azure-cosmosdb,asp.net-core-2.2,C#,Azure Cosmosdb,Asp.net Core 2.2,我有一个asp.NETCore2.2项目,用于构建API。这些API依赖于其他一些服务,如Azure CosmosDB、Azure ServiceBus和Azure存储服务。我有以下代码来实现HealthCheck: Startup.cs public void ConfigureServices(IServiceCollection services) { services.AddCustomHealthChecks(Configuration); } public void Con

我有一个asp.NETCore2.2项目,用于构建API。这些API依赖于其他一些服务,如Azure CosmosDB、Azure ServiceBus和Azure存储服务。我有以下代码来实现HealthCheck:

Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    services.AddCustomHealthChecks(Configuration);
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseHealthChecks("/healthcheck", new HealthCheckOptions{Predicate = _ => true, ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse});
    app.UseHealthChecksUI();
}

public static IServiceCollection AddCustomHealthChecks(this IServiceCollection services, IConfiguration configuration)
{
    var cosmosDBServiceEndPoint = configuration.GetValue<string>("CosmosDBEndpoint");
    var cosmosDBAuthKeyOrResourceToken = configuration.GetValue<string>("CosmosDBAccessKey");
    var cosmosDBConnectionString = $"AccountEndpoint={cosmosDBServiceEndPoint};AccountKey={cosmosDBAuthKeyOrResourceToken};";
    var hcBuilder = services.AddHealthChecks();
    hcBuilder.AddCheck("self", () => HealthCheckResult.Healthy()).AddCosmosDb(connectionString: cosmosDBConnectionString, name: "CosmosDB-check", failureStatus: HealthStatus.Degraded, tags: new string[]{"cosmosdb"});
    services.AddHealthChecksUI(setupSettings: setup =>
    {
        setup.AddHealthCheckEndpoint("Basic healthcheck", "http://localhost:63812/healthcheck");
    }

    );
    return services;
}
但在检查HealthCheckUI时,我并不认为CosmosDB是仪表板上的依赖项:


有人能帮我解决这个问题吗?

如您提供的图片所示,您似乎使用了3.0.x版本的软件包。因此,如果您的项目是asp.net核心应用程序2.2,则需要使用2.2.X而不是3.0.X版本

还有,改变

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    services.AddCustomHealthChecks(Configuration);
}


有关更多详细信息,请参阅如何。

我做了所有更改,并更新了问题中的代码。对不起,这是我这边的打字错误。我再次进行了验证,发现不适用于我。您可以检查以排除故障。
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    services.AddCustomHealthChecks(Configuration);
}
public void ConfigureServices(IServiceCollection services)
{
   services.AddCustomHealthChecks(Configuration);
}