Я получаю две ошибки в следующем коде:Как правильно использовать HttpClient с async/wait?
public async Task<string> TestDownloadTask()
{
HttpResponseMessage response = null;
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri(@"https://api.nasa.gov/planetary/apod");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
response.EnsureSuccessStatusCode();
response = await client.GetStringAsync("?concept_tags=True&api_key=DEMO_KEY");
}
return response.Content;
}
Я получаю:
- Не могу дождаться 'System.Threading.Tasks.Task' на "ждут" линии
- Невозможно преобразовать тип выражения «System.Net.Http.Content» для возврата типа «строка»
Я пытаюсь написать код выше, который загрузит строку из веб-s ervice, но, похоже, существует много противоречивой информации о том, как использовать async и ждать и как использовать HttpClient, и я не знаю, что не так с кодом, который я написал.
Где я ошибаюсь и как я должен это делать?
Вы абсолютно уверены, что это ошибка, которую вы получаете? 'GetStringAsync' возвращает' Task ', и вы пытаетесь присвоить результат переменной типа HttpResponseMessage, поэтому ваш код определенно сломан из-за несоответствия типов, но кажется маловероятным, что вы получите ошибку «Не могу ждать« System.Threading.Tasks.Task ». –