两台Silverlight应用程序可以在一台机器上共享IsolatedStorage吗?

时间:2010-04-14 13:08:12

标签: silverlight isolatedstorage

什么标识了Silverlight应用程序,两个silverlight应用程序何时可以共享IsolatedStorage,即:

  • 如果我想要两个Silverlight应用程序共享 IsolatedStorage空间,这可能吗?我需要提供什么样的“应用程序ID”?
  • 如果我希望两个Silverlight应用程序共享IsolatedStorage,我该如何阻止这个?我需要这样做吗?

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

然而,当我将.xap和.html文件复制到另一个目录并打开.html文件时,它不会与我正在开发的应用程序共享IsolatedStorage。改变了什么?

幕后发生了什么,所以我知道何时分享IsolatedStorage以及何时分享它?

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:1)

如果内存对我有用,隔离存储可以在应用程序和页面范围内使用。所以 - 如果我理解我的回忆是正确的,我可能会说 - 是的。

修改

我在C#中使用Pro Silverlight 3.0的副本:

(第636页) 通过isloated存储,可以为用户和应用程序的每个组合创建一个niqe存储位置。换句话说,同一计算机可以具有用于同一应用程序的多个同名存储位置,每个同一计算机用于不同的用户。同样,同一个用户可以拥有多个存储位置,每个存储位置对应一个Silverlight应用程序

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