C # HttpClient просто останавливается без указания причины - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь получить данные из нашего экземпляра API. У меня есть код, скопированный с сайта MS, с тиками, найденными на SO. Код, который я использую, таков:

string peopleEndpoint = $"{apiConf.ApiEndpoint}/{apiConf.dbspec}/_table/mdm.PEOPLE_SV";
string json = null;
try
{
    using (var httpClient = new HttpClient())
    {
        httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        httpClient.DefaultRequestHeaders.Add("X-Api-Key", apiConf.ApiKey);
        HttpResponseMessage response = await httpClient.GetAsync(peopleEndpoint);
        json = await response.Content.ReadAsStringAsync();
    }
}
catch (Exception ex)
{
    Debug.WriteLine(ex.ToString());
    throw;
}

Значения конфигурации хорошие ... Я могу скопировать их и вставить в команду cURL и получить данные. То же самое с заголовками.

Теперь, когда я отлаживаюсь, выполнение останавливается после выполнения этой строки:

HttpResponseMessage response = await httpClient.GetAsync(peopleEndpoint);

И в окне вывода все, что я вижу, это:

The program '[10172] dotnet.exe' has exited with code 0 (0x0).
The program '[10172] dotnet.exe: Program Trace' has exited with code 0 (0x0).

Как я могу выяснить, что является причиной этого сбоя?

Каркас отмечен как:

<TargetFramework>netcoreapp2.1</TargetFramework>

1 Ответ

0 голосов
/ 06 ноября 2018

Является ли код асинхронным до самого верха или существует не асинхронный метод, который вызывает этот код где-то, который может не ожидать его завершения. Вот как это пахнет для меня.

...