Как получить результат обратно из метода async?Получить результат от метода async в Windows Phone
async Task<string> Get(string Url)
{
HttpClient httpClient = new HttpClient();
httpClient.MaxResponseContentBufferSize = 10485760;
httpClient.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");
HttpResponseMessage response = await httpClient.GetAsync(Url);
return await response.Content.ReadAsStringAsync();
}
вызов метода
var a = Get(address).Result;
Outbox.Text = a;
при попытке получить результат, на выходе winodow я получил "Нить 0xdf4 завершился с кодом 0 (0x0)"
и ничего случилось
но я могу получить результат таким образом
async Task Get(string Url)
{
HttpClient httpClient = new HttpClient();
httpClient.MaxResponseContentBufferSize = 10485760;
httpClient.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");
HttpResponseMessage response = await httpClient.GetAsync(Url);
Outbox.Text = response.Content.ReadAsStringAsync().Result;
}
и вызвать метод, таким образом
var a = Get(address);
я попробовать этот код на Windows Phone 8.1. спасибо.
Я попробую это раньше, оператор 'wait' может использоваться только в рамках метода async –
Это просто означает, что вам нужно добавить ключевое слово 'async' в вашу подпись метода. Например, если у вас есть 'public void Button_Click (...)', измените его на 'public async void Button_Click (...)' –
yup, он работает. Спасибо большое –