【发布时间】:2012-06-19 13:16:12
【问题描述】:
我有一个 c# metro 应用程序,它下载具有 uri 属性的对象集合。 这个集合被绑定到一个带有 Image 源绑定的 ListBox,这很好用。
当应用程序被墓碑时,我想保留所有应用程序状态,包括从互联网下载的集合和图像。
在这种情况下,用户的操作导致集合被下载并正确显示,他们切换到另一个应用程序并且我的应用程序被终止。用户然后切换回我的应用程序,并期望显示与以前完全相同的显示,但现在未连接到互联网。
保存集合很容易,并且挂钩到 Image 上的 ImageLoaded 事件很容易,但我怎样才能保存该图像?
这是必需的功能吗,windows会自动缓存这种基于http的图像吗?
请注意,RP 的 API 已更改,使用 WritableBitmap 的常见示例不再有效,因为构造函数不再接受 ImageSource。
更新:
Metro APP - BitmapImage to Byte[] or Download Image from Web and convert it to a Byte[] Array 这就是我害怕的,那些不使用现有的工作绑定图像元素,而是进行单独的 http 调用。我真的不想下载我所有的图像两次。 我会尝试一个尖峰,看看在这种情况下windows是否缓存了http请求。
【问题讨论】:
-
不幸的是,一旦 ImageOpened 事件触发,这种使用 HttpClient 从 Xaml 中的图像中获取 Uri 的方法确实再次命中服务器并重新下载文件,导致每个图像文件两次命中在服务器上,这是不可接受的。
标签: c# windows-8 microsoft-metro tombstoning