Чтобы использовать ключевое слово await
, вы также должны обозначить метод ключевым словом async
в его сигнатуре.
Таким образом, ваш метод станет: public async Task<HealthCheckResult> CheckHealthAsync
И в вашем коде вам нужно дождаться вызова PostAsync
без блокировки на .Result
:
sw.Start();
var response = await client.PostAsync(_url, data);
sw.Stop();
EDIT:
После редактирования в вашем вопросе я вижу, что вы используете Task.FromResult(sth)
.
Если вы пометите метод как async
, вы можете (и должны, чтобы скомпилировать) удалить все Task.FromResult
и вместо этого просто вернуть HealthCheckResult.Healthy()
.