Asp.net core Microsoft.Extensions.Diagnostics.HealthChecks失败消息

Asp.net core Microsoft.Extensions.Diagnostics.HealthChecks失败消息,asp.net-core,diagnostics,health-monitoring,Asp.net Core,Diagnostics,Health Monitoring,Asp.NETCore2.2.0 对于失败的运行状况检查,如何返回 例如: using Microsoft.Extensions.Diagnostics.HealthChecks; public class SqlConnectionHealthCheck : IHealthCheck { public async Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context, Cancellatio

Asp.NETCore2.2.0

对于失败的运行状况检查,如何返回

例如:

using Microsoft.Extensions.Diagnostics.HealthChecks;

public class SqlConnectionHealthCheck : IHealthCheck
{
    public async Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context, CancellationToken cancellationToken = default(CancellationToken))
    {
        try
        {
            // attempt connection to db
        }
        catch(DbException ex)
        {
            return new HealthCheckResult(status: context.Registration.FailureStatus, exception: ex);
        }
使用Microsoft.Extensions.Diagnostics.HealthChecks;
公共类SqlConnectionHealthCheck:IHealthCheck
{
公共异步任务CheckHealthAsync(HealthCheckContext上下文,CancellationToken CancellationToken=default(CancellationToken))
{
尝试
{
//尝试连接到数据库
}
捕获(dbex异常)
{
返回新的HealthCheckResult(状态:context.Registration.FailureStatus,异常:ex);
}
当此操作失败时,浏览器将显示
不健康

如何显示异常消息和堆栈跟踪

如何显示异常消息

和堆栈跟踪


你确定要这样做吗?

根据文档
说明
是只读的。我不想显示异常消息的原因是什么?@BaltoStar我认为你可能需要重新考虑堆栈跟踪。出于安全考虑,我通常避免暴露堆栈跟踪。
// one option:
catch(DbException ex)
{
    return new HealthCheckResult(status: context.Registration.FailureStatus, description: exception.Message, exception: ex);
}