Мне нужна помощь с этим пунктом. Проблема в следующем, мне нужно добавить проверку работоспособности на мой сервис:
// Add the health checks.
services.AddHealthChecks()
.AddSqlServer(Configuration["ConnectionStrings:MyConnectionString"])
.AddCheck("Offices Health Check", new OfficeHealthCheck(), HealthStatus.Unhealthy)
;
Для этого у меня есть класс OfficeHealthCheck.cs, который реализует IHealthCheck и определяет следующую функцию:
private async Task<bool> GetOffices()
{
bool isHealthy = false;
Uri apiUri = new Uri("http://localhost:58355/api/offices");
using (HttpClient client = new HttpClient())
{
var result = await client.GetAsync(apiUri);
if (result.IsSuccessStatusCode)
isHealthy = true;
}
return isHealthy;
}
Проблема, которую я пытаюсь решить, заключается в том, как изменить локальный хост: 58355 на текущий сервер, на котором я запускаю службу (и проверка работоспособности, и точка, которую я вызываю, являются частью одной и той же службы), например http://myproductionserver.com/api/offices или http://mystageserver.org/api/offices и так далее...
Я читал несколько статей, в которых упоминалось о добавлении синглтона с помощью , но мне не удалось правильно реализовать IHttpContextAccessor. Я добавил синглтон и добавил часть в объект следующим образом:
public class OfficeHealthCheck : IHealthCheck
{
private readonly IHttpContextAccessor _httpContextAccesor;
public RegionHealthCheck(IHttpContextAccessor httpContextAccessor) {
_httpContextAccesor = httpContextAccessor
}
Но теперь меня просят передать экземпляр IHttpContextAccessor конструктору в этой строке, что я не знаю, как это сделать:
// Add the health checks.
.AddCheck("Offices Health Check", new OfficeHealthCheck()
;
Любая помощь будет оценена