Windows Phone 7>如何中止异步下载

时间:2011-02-21 21:41:32

标签: windows-phone-7

我实现异步下载以检索远程文件并将其存储在IsolatedStorage中,以便在离开网络时使用它。

网络启动时,一切都很有效。但是当我离开网络时,我注意到async donwload可能需要2分钟才能激活我的MessageBox(这说明与服务器的连接失败了)。

问题: 有没有办法定义超时?假设我的应用程序在X秒内没有收到任何答案,那么请停止异步下载并调用方法。

也许暂停不是最好的实践。在这种情况下你能给我一些建议吗? 我不希望我的用户最多等待15秒。

PS:我的应用程序假设只在wifi上运行,所以我认为'网络速度'是最佳的。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

我建议您首先通过NetworkInterface检查网络类型。如果NetworkInterfaceTypeWireless80211,则表示您具有无线连接(Wi-Fi)。如果没有可用的连接方式,返回的连接可以是None - 因此,如果没有可访问的网络,您甚至不必开始下载。

回答您的问题,如果您使用WebClient,则无法定义超时。但是,您可以致电instance.CancelAsync()。对于HttpWebRequest,您可以致电instance.Abort()