Silverlight隔离存储是永久性还是缓存?

时间:2009-07-17 15:32:39

标签: silverlight silverlight-3.0 isolatedstorage

隔离存储的持久性 - Silverlight是否将其视为缓存,在需要更多空间时删除项目,或仅在用户或应用程序请求时?

似乎还有各种各样的方法来识别孤立的存储 - 机器,应用程序,域,......我遇到的问题是这些都与用户有关。是可能,如果是,如何创建并稍后检索具有以下属性的隔离存储文件:

  • 无论登录的是哪个Windows用户,都使用相同的文件
  • 使用相同的文件,无论程序集版本如何(对xap的更新)。相反,网址将保持不变。这甚至可以离线工作(在浏览器之外)。

基本上我希望隔离存储在应用程序更新和登录的不同用户之间保持不变。

2 个答案:

答案 0 :(得分:3)

这是相当永久的。用户可以删除它,如果他们真的想要,但他们将不得不竭尽全力。

以下是Isolated Storage的MSDN文档。

Silverlight中的

IsolatedStorageFile有几个静态,可让您选择存储范围:

  • GetUserStoreForApplication
  • GetUserStoreForSite

答案 1 :(得分:2)

Silverlight中没有“MachineStore”选项,只有“应用程序”和“站点”。两者都由用户限定..因为文件存储在Windows上用户的AppData下。浏览器内和浏览器外的应用程序共享相同的独立存储库。

[编辑。我第一次错过了您的部分问题]:隔离存储存储不是浏览器缓存的一部分,因此在清除浏览器缓存时不会清除它们。作为开发人员,您可以通过编程方式删除内容。作为用户,您可以使用Silverlight配置UI(即右键单击菜单)来管理存储 - 它被称为“应用程序存储”给用户。最后,一个勇敢的用户可以在磁盘上找到文件并手动删除它们......它们是隐藏的,因此它们不会显示在正常搜索中,但确定的用户仍然可以找到它们。