Мне нужна помощь с этим предметом. Проблема заключается в следующем: мне нужно добавить проверку работоспособности моей службы:
// 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;
}
Проблема, которую я пытаюсь решить, заключается в том, как изменить "localhost: 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()
;
Любая помощь приветствуется