Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# metro应用程序应该如何缓存用于墓碑的图像(并且应该这样做)?_C#_Windows 8_Microsoft Metro_Tombstoning - Fatal编程技术网

C# metro应用程序应该如何缓存用于墓碑的图像(并且应该这样做)?

C# metro应用程序应该如何缓存用于墓碑的图像(并且应该这样做)?,c#,windows-8,microsoft-metro,tombstoning,C#,Windows 8,Microsoft Metro,Tombstoning,我有一个c#metro应用程序,它下载一组具有uri属性的对象。 此集合绑定到一个列表框,并绑定了一个图像源,这样做很好 当应用程序处于逻辑删除状态时,我希望保留所有应用程序状态,包括集合和从internet下载的图像 在本案例中,用户的操作会导致收藏被下载并正确显示。他们会切换到另一个应用程序,并且“我的应用程序”被终止。然后,用户切换回我的应用程序,并期望与以前完全相同的显示,但现在没有连接到互联网 保存集合很容易,挂接到映像上的ImageLoaded事件也很容易,但是如何保存该映像 如果这

我有一个c#metro应用程序,它下载一组具有uri属性的对象。 此集合绑定到一个列表框,并绑定了一个图像源,这样做很好

当应用程序处于逻辑删除状态时,我希望保留所有应用程序状态,包括集合和从internet下载的图像

在本案例中,用户的操作会导致收藏被下载并正确显示。他们会切换到另一个应用程序,并且“我的应用程序”被终止。然后,用户切换回我的应用程序,并期望与以前完全相同的显示,但现在没有连接到互联网

保存集合很容易,挂接到映像上的ImageLoaded事件也很容易,但是如何保存该映像

如果这是必需的功能,windows会自动缓存这种类型的基于http的映像吗

请注意,RP的API已经更改,常见的使用WritableBitmap的示例不再有效,因为构造函数无法再接受ImageSource

更新:

这正是我所担心的,它们不使用现有的工作绑定映像元素,而是进行单独的http调用。我真的不想下载我所有的图片两次。
我将尝试一个峰值,看看windows是否在这种情况下缓存http请求。

此答案与之前删除的答案相呼应

提供上述所需用户体验的唯一方法是在本地手动缓存图像。在这个领域里,没有什么是为程序员做的


没有呈现的是编码解决方案,一个新问题已经被创建来解决这个问题

不幸的是,一旦ImageOpen事件触发,这种使用HttpClient从xaml映像的Uri获取Uri的方法再次命中服务器并重新加载文件,导致服务器上每个映像文件命中两次,这是不可接受的。