0
如何從異步方法獲取結果?從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)退出」
並沒有什麼happend
但我可以通過這種方式得到結果
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的代碼調用該方法。 謝謝。
我之前試過這個,'await'操作符只能在異步方法中使用 –
這就意味着你需要在你的方法簽名中添加'async'關鍵字。例如,如果你有'public void Button_Click(...)',把它改爲'public async void Button_Click(...)' –
yup,它可以工作。非常感謝 –