2

我正在玩最简单的使用情况bcl.async in wp7

private async void loadButton_Click1(object sender, RoutedEventArgs e)
{
        var client = new WebClient(); 
        string response = await client.DownloadStringTaskAsync(new Uri("myurl"));
        Debug.WriteLine(response);
}

所以,我在第一行和最后一行都有断点,在设备上以调试模式运行。有时需要大约 5 秒才能得到答案(这很奇怪),但有时几乎需要一分钟。在来自设备的 1 个请求期间,我能够在浏览器中检查请求(获得即时答复,不到一秒),喝了些茶,然后检查 9gag。

我可以假设我的网络不好,但是浏览器的请求是光速的,所以这不是问题。另外,我尝试了 RestSharp,但遇到了同样的问题。非异步 WebClient 调用工作正常。

编辑: 快速解决方案:您要做的第一件事就是重新启动设备。

4

1 回答 1

1

正如我在评论中提到的,我认为值得研究使用 HttpClient 而不是 WebClient。HttpClient 较新,并且在设计时考虑了新的 WebAPI,我相信它的设计通常可以提高效率。

这里列出了一个很好的比较。

于 2013-05-01T08:19:02.057 回答