如果您对这些警告感到满意,那么这是对隔离存储的合理使用。
我想到的第一个警告是,当用户在另一台机器上启动你的应用程序时,你存储在一台机器上的隔离存储中的任何内容都将不可用——你失去了 Web 应用程序相对于桌面安装应用程序的移动优势。如果用户花一些时间配置他们的偏好等,他们会因为切换到另一台计算机来查看您的 Web 应用程序而不得不重新做一遍而感到恼火。为了解决这个问题,您应该将用户的自定义设置复制到云存储中,以便可以将其复制到他们选择运行您的 Web 应用程序的任何机器上。将隔离存储视为正式存在于云中的数据的性能优化缓存。
我相信 Silverlight 隔离存储被写入到文件系统中用户私有数据区域的磁盘中。\users\\AppData 或类似的。这将使其与同一台机器上的其他用户隔离,但不会为同一用户运行的其他程序提供任何保护。我不记得 Silverlight 隔离存储是否在磁盘上加密。我对此表示高度怀疑。
第二个警告是 Silverlight 隔离存储有配额限制,默认情况下它相当小 (1MB)。可以通过调用IncreaseQuotaTo() 来增加配额,这将提示最终用户确定请求。
第三个警告是,如果您要将本地存储用作云中数据的缓存,则必须自己管理数据同步。如果用户在本地进行更改,您需要将其推送到云中的权限存储,并且您必须决定何时或多久从云中刷新本地缓存,以及当两者都已完成时该怎么做同时改变(碰撞)。
浏览器 cookie 存储并不是描述 Silverlight 隔离存储的好比喻。给定域的浏览器 cookie 附加到从客户端到服务器的每个 http 请求。cookie 会不断地传输到服务器。Silverlight isostorage 中的数据只能由客户端计算机上运行的 Silverlight 代码访问 - Silverlight 或浏览器绝不会将其传输到任何地方。
将 Silverlight 的隔离存储视为云数据的本地缓存,您应该没问题。将 isostorage 视为永久存储,您会激怒您的客户,因为数据不会随他们随处可见,他们可以使用您的 Web 应用程序。