Ошибка UseHealthChecksUI Обнаружен неожиданный символ - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь реализовать функцию проверки работоспособности ASP.NET Core 2.2. Настройка самой проверки работоспособности не является проблемой, но я также хочу иметь возможность использовать функцию пользовательского интерфейса в другом проекте для мониторинга всех моих API-интерфейсов. Прямо сейчас я получаю сообщение об исключении

При анализе значения обнаружен неожиданный символ: <. </p>

Что я делаю плохо?

API Project:

var healthCheckOptions = new HealthCheckOptions
{
Predicate = _ => true,
ResponseWriter = async (c, r) =>
{
    c.Response.ContentType = MediaTypeNames.Application.Json;
    var result = JsonConvert.SerializeObject(
        new
        {
            Checks = r.Entries.Select(e =>
                new
                {
                    Description = e.Key,
                    Status = e.Value.Status.ToString(),
                    ResponseTime = e.Value.Duration.TotalMilliseconds
                }),
            TotalResponseTime = r.TotalDuration.TotalMilliseconds
        });
    await c.Response.WriteAsync(result);
 }
};

app.UseHealthChecks("/live", new HealthCheckOptions
{
  Predicate = _ => true
});
app.UseHealthChecks("/hc", healthCheckOptions);
app.UseHealthChecksUI(options => options.UIPath = "/healtcheck");

// Registers required services for health checks
services
   .AddHealthChecks()
   .AddCheck("self", () => HealthCheckResult.Healthy())
   .AddCheck("ComunContext Database", new   SqlServerHealthCheck(configuration["ConnectionStrings:ComunContext"]));

Веб-проект:

services.AddHealthChecksUI();

app.UseHealthChecksUI(config =>
{
    config.UIPath = "/healthcheck";
});

appsettings.json
{
  "HealthChecks-UI": {
  "HealthChecks": [
  {
    "Name": "Local",
    "Uri": "http://localhost:27365/hc"
  }
],
"EvaluationTimeOnSeconds": 10,
"MinimumSecondsBetweenFailureNotifications": 60
 }
}
...