【问题标题】:Can two Silverlight applications share IsolatedStorage on one machine?两个 Silverlight 应用程序可以在一台机器上共享隔离存储吗?
【发布时间】:2010-04-14 13:08:12
【问题描述】:

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

  • 如果我想拥有两个 Silverlight 应用程序共享独立存储空间,这可能吗?我需要提供什么样的“应用程序 ID”才能执行此操作?
  • 如果我希望两个 Silverlight 应用程序共享隔离存储,我该如何防止这种情况?我需要这样做吗?

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

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

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

【问题讨论】:

    标签: silverlight isolatedstorage


    【解决方案1】:

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

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

    【讨论】:

    • 有道理,“源 XAP 的 URL”是标识符
    【解决方案2】:

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

    编辑

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

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

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

    【讨论】:

    • 我正在使用IsolatedStorageFile.GetUserStoreForApplication() 来获取存储,但我担心如果一个用户正在运行silverlight 应用程序的两个实例,他们访问的是同一个IsolatedStorage 吗?是什么标识了应用程序以便它有一个唯一的独立存储区域可供使用?
    • 已编辑,第 637 页包含对 GetUserStoreForApplication 的引用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    • 2011-04-04
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多