【问题标题】:Silverlight isolated storage: what identifies an "application"?Silverlight 隔离存储:什么标识“应用程序”?
【发布时间】:2011-07-28 21:57:17
【问题描述】:

Silverlight 的 IsolatedStorageFile.GetUserStoreForApplication 的文档只是说隔离存储特定于“应用程序”,并且每个不同的应用程序都有自己的存储空间,独立于所有其他“应用程序”(但整个域有一个配额)。

这很好,但我还没有找到任何解释“应用程序”应该是什么意思的东西(在 Silverlight 文档或常规 .NET Framework 文档中)。 Silverlight 使用哪些信息来确定“这是应用程序 A”和“这是应用程序 B”?它只是脱离 .xap 文件的 URI,还是什么?

【问题讨论】:

    标签: silverlight isolatedstorage


    【解决方案1】:

    将其视为 URL。如果 URL 不同,则应用程序的隔离存储将不同。您可以随心所欲地更改文件中的元数据等。只是不是它的文件名/位置。如果我没记错的话,你甚至可以在同一个 URL 上放置一个不同的 XAP,它会占用前一个的隔离存储。

    【讨论】:

      【解决方案2】:

      是的,您必须选择隔离存储的类型:

      --> 一个和xap url有关,理论上是这样的,但是我在使用的时候发现了一个令人讨厌的惊喜。

      --> 另一个对您的网站来说是通用的(来自您网站的网址)。

      理论上你不会遇到任何问题,但如果你的应用程序有问题(在我的情况下,当我进行新部署时,iso 被清除了 :-(),请查看以下帖子:

      http://www.tipsdotnet.com/TechBlog.aspx?PageIndex=0&BLID=13

      http://silverlight.net/forums/p/86003/200941.aspx#200941

      【讨论】:

        【解决方案3】:

        根据有关 IsolatedStorageFile 类的 MSDN 文章,“隔离存储的范围仅限于特定程序集”。您的应用程序是一个程序集(您的 XAP 文件)。程序集具有唯一标识它的程序集清单。

        【讨论】:

          【解决方案4】:

          我们可以将独立存储用作虚拟文件系统,将数据存储在 Silverlight 应用程序中我们机器上的隐藏文件夹中。 Silverlight 应用程序为每个应用程序分配了 1 MB 的存储空间,但我们可以增加存储空间。 这是获取隔离存储中数据的功能

            Private Function LoadData(ByVal fileName As String) As String
                  Dim data As String = String.Empty
                  Dim isfstream As New IsolatedStorageFileStream(fileName, FileMode.Open, IsolateStorageFileObj)
                  Dim sr As New StreamReader(isfstream)
                  data = sr.ReadLine()
                  Return data
            End Function
          

          【讨论】:

          • 这如何回答这个问题?
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多