我在Windows Phone应用中使用后台任务来生成实时图块图像。为此,我下载一张图片,将其保存到隔离存储,然后设置实时图块以使用此图片。 (我没有将实时图块设置为使用图像网址,因为我在保存之前也会对其进行修改)
我使用的WebClient在Windows Phone 8上运行得非常好,可以下载图片:
var wc = new WebClient();
using (var stream = await wc.OpenReadTaskAsync(imageUri))
{
// Image modifications and saving
}
当我在应用程序的WP7.8版本中使用相同的代码时,它不起作用:如果在应用程序运行时启动代码,则会更新实时磁贴,但不会在后台代理中启动。
当我调试后台代理时,代码会在OpenReadTaskAsync行停止,而不会抛出任何异常。
图片不大(小于400 x 400px,70kb),我不明白为什么我无法下载。
WP7.8后台代理是否比WP8更受限制? 你看到任何解决方案吗?
谢谢
答案 0 :(得分:0)
您应该在后台代理中对NotifyComplete()
的调用设置断点。我的猜测是,它会在OpenReadTaskAsync
结束前以某种方式被调用,从而过早地结束了代理。