5

什么标识了一个 silverlight 应用程序以及两个 silverlight 应用程序何时可以共享隔离存储(如果有的话),即:

  • 如果我想让两个 Silverlight 应用程序共享隔离存储空间,这可能吗?我需要提供什么样的“应用程序 ID”才能做到这一点?
  • 如果我希望两个 Silverlight 应用程序共享隔离存储,我该如何防止这种情况发生?我需要这样做吗?

例如,我注意到当我开发一个 Silverlight 应用程序时,我可以按 F5,在应用程序保存到独立存储中,停止应用程序,再次按 F5,它会从同一个独立存储中读取。(我认为新的编译会导致它使用新的 IsolatedStorage。)

但是,当我将 .xap 和 .html 文件复制到另一个目录并打开 .html 文件时,它不会与我正在开发的应用程序共享隔离存储。发生了什么变化?

这里幕后发生了什么,所以我知道什么时候共享隔离存储,什么时候不共享?

4

2 回答 2

6

源 XAP 文件的 URL 标识了应用程序。您可能希望应用程序的新版本能够读取现有存储中的先前版本。考虑一个游戏,其中所有的高分都存储在应用程序商店中。当所有这些分数在升级后消失时,用户可能会有点不高兴。

不同的应用程序可以共享一个基于站点的商店。但是,您只能获得这两个粒度级别,即在 XAP Url 或基于站点的应用程序级别,即主机和端口(我不确定方案是否也是该键的一部分)。

于 2010-04-14T13:28:14.247 回答
1

如果没记错的话,隔离存储可以在应用范围和页面范围内使用。所以——如果我没记错的话,我可能会说——是的。

编辑

来自我拥有的 C# Pro Silverlight 3.0 的副本:

(p. 636) 使用独立存储,为用户和应用程序的每个组合创建一个独立的存储位置。换句话说,同一台计算机可以为同一个应用程序有多个独立的存储位置,每个存储位置都用于不同的用户。同样,同一个用户可以有多个存储位置,每个 Silverlight 应用程序都有一个

(第 637 页)... GetUserStoreForFile()。此方法提供了一个存储站点,同一网站域上的所有 silverlight 应用程序都可以访问,但是这些设置仍然是用户特定的

于 2010-04-14T13:15:23.467 回答