【发布时间】:2013-05-02 22:57:45
【问题描述】:
我在玩最简单的用法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 调用工作正常。
编辑: 快速解决方案:您要做的第一件事就是重启设备。
【问题讨论】:
-
我建议使用已知的 url(例如
http://www.google.com)进行测试——只是为了确保问题出在您的代码中。之后,我会尝试使用老式异步 Web 请求(不使用async和await)——再次确认一下。 -
尝试使用以下链接 [1] [1] 中的此建议:stackoverflow.com/questions/4932541/…
-
@Uzzy 听起来不错,但 wp 没有 Proxy 属性。
-
@YoryeNathan 刚刚在 google.com 上尝试了相同的代码,在 5-7 秒内得到答案。
-
@VitaliiVasylenko 试试我的其他建议。此外,如果您并不真正关心下载的进度,您可以通过简单的线程自己管理它的异步性,从而避免使用异步方法。
标签: c# windows-phone-7 async-await base-class-library