C# HealthCheckUI不显示依赖项(如CosmosDB)的状态
我有一个asp.NETCore2.2项目,用于构建API。这些API依赖于其他一些服务,如Azure CosmosDB、Azure ServiceBus和Azure存储服务。我有以下代码来实现HealthCheck: Startup.csC# 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
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);
}