【发布时间】:2009-07-29 19:33:45
【问题描述】:
我在暂存服务器和生产服务器上都部署了 Silverlight 应用程序。此应用程序使用隔离存储设置缓存信息。如果我浏览到
http://stagingserver/pagewithsilverlight.aspx
一切正常,数据存储在我机器上的隔离存储中就好了。但是,如果我浏览到
http://productionserver/pagewithsilverlight.aspx
一切正常,除了没有任何东西保存到我机器上的隔离存储中。两个页面都包含相同 xap 文件的副本。为什么它在托管在一台服务器上时会以一种方式运行,而在托管在另一台服务器上时会以不同方式运行?
编辑:附加说明,我已经通过在运行我的应用程序时查看 C:\Documents and Settings\username\Local Settings\Application Data\Microsoft\Silverlight\is 目录来验证数据没有保存到隔离存储中。
编辑#2:经过进一步调查(进程监视器),数据被写入隔离存储,但随后被同一页面上的另一个 SilverLight 应用程序覆盖。这没有出现在我们的暂存环境中,因为第二个应用程序没有部署在那里。不知何故,这两个应用程序都被赋予了相同的隔离存储位置。它们是唯一的 xap 文件,那么如何为它们提供相同的 IsolatedStorage.ApplicationSettings 位置?
【问题讨论】:
-
这些服务器上的以下命名空间的版本是什么?使用 System.IO;使用 System.IO.IsolatedStorage;
-
@CodeToGlory:命名空间没有版本。除此之外,任何 dll 在服务器上的版本与 XAP 在客户端上的作用无关。
-
我想不出任何理由会有什么不同。因此,我将测试我的假设。 XAP 真的一样吗? xap 中用于将内容保存到隔离存储的代码真的在运行吗?
-
@AnthonyWJones。 xap 文件是彼此的二进制副本。这只是一个复制和粘贴。后来我又将服务器日志调用添加到了生产版本。它肯定是在呼吁将东西保存到隔离存储中。在同一个例程中,我什至可以从隔离存储中读取设置并记录这些设置。
-
@Jacob:为了清楚起见,您注意到隔离存储无法正常工作,因为当您重新访问 XAP 时,应用程序不会根据它认为已存储的数据按预期运行成功但表现得好像是第一次被访问?
标签: silverlight silverlight-2.0 isolatedstorage