ожидание сбоя вызова, но. Результат успешен - PullRequest
0 голосов
/ 12 февраля 2019

Я наткнулся на странную проблему ...

Это простой код, который просто вызывает API с ожиданием

public async Task<IEnumerable<DTO>> GetAll(int Id, string APIPath)
{
    var client = new HttpClient();
    var response = await client.GetAsync($"{APIPath}/Contract/GetAll?Id={Id}");
    var responseResult = await response.Content.ReadAsStringAsync();
    return JsonConvert.DeserializeObject<IEnumerable<DTO>>(responseResult.ToString());
}

Когда я отлаживаю и когда перехожу черезawait строка.Приложение падает без каких-либо исключений, и сеанс отладки завершается.

Но когда я изменяю await на .Result, сеанс отладки продолжается и продолжает работать нормально и даже возвращает ответ от API.

Я предполагаю, что новый поток каким-то образом не создан и сеанс отладки завершен из-за сбоя.Любые идеи, почему?

ОБНОВЛЕНИЕ Это базовое консольное приложение .Net

ОБНОВЛЕНИЕ2 Не уверен, насколько это полезно, но вотвызывающая линия ...

var contracts = await _contractAdapter.GetAll(Id, APIPath);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...