Asynchronous HttpClient PCL在windows phone上无法正常工作

Asynchronous HttpClient PCL在windows phone上无法正常工作,asynchronous,windows-phone,httpclient,portable-class-library,Asynchronous,Windows Phone,Httpclient,Portable Class Library,这适用于windows应用商店、windows phone和windows窗体应用程序,但以下代码仅适用于windows应用商店和windows窗体应用程序,而不适用于windows phone。getAsync永远不会返回。有人知道原因吗?windows phone的PCL实现中是否存在缺陷 var json = await http.GetStringAsync(uri); 您不应该阻塞asynccode;正如我在博客上描述的那样,这可能是一个僵局。我不明白,你为什么不等待http.Get

这适用于windows应用商店、windows phone和windows窗体应用程序,但以下代码仅适用于windows应用商店和windows窗体应用程序,而不适用于windows phone。getAsync永远不会返回。有人知道原因吗?windows phone的PCL实现中是否存在缺陷

var json = await http.GetStringAsync(uri);

您不应该阻塞
async
code;正如我在博客上描述的那样,这可能是一个僵局。我不明白,你为什么不等待http.GetAsync(uri)的结果呢?好吧,我想确保我得到了SuccessStatusCode,我不明白为什么同样的代码适用于windows应用商店和windows窗体应用,而不是windows phone。斯蒂芬是对的,你遇到了死锁。当响应返回时,电话网络堆栈会尝试返回UI线程,但无法返回,因为等待结果时它被阻止。
var response = http.GetAsync(uri).Result;
response.EnsureSuccessStatusCode();
string json = await response.Content.ReadAsStringAsync();