在silverlight中使用IsolateStore隔离存储(上)

文/代震军  出处/博客园

    隔离存储(Isolate Store) 是一个虚拟的文件系统 . 它可用于保存本地(客户端文件)。下面是微软的一些解释:
   
    虚拟文件系统根目录对于每个机器当前登陆用户不同的, 它是一个隐藏的文件夹,存在于物理文件系统中. 每个
application的不同标识将会使其映射到不同的文件夹中, 也就是说,将分配给每个不同的application 一个属于它的
虚拟文件系统. .NET Framework version 2.0中的文件夹节构和隐藏架构同样在.NET Framework for Silverlight中
也用到了.

    而在silverlight开发中,允许我们使用Isolate Store(位于System.IO.IsolatedStorage名空间),其下有几个
主要的类如:

    IsolatedStorageSettings (以Dictionary<<(TKey, TValue)>> 键值对的方式来存储数据,本文DEMO的演示内容)

    IsolatedStorageFile (返回一个包括路径和文件的虚拟区域, 用于管理目录,文件等, 会在下一篇中演示)
   
    IsolatedStorageFileStream (以流的方式读写指定路径的文件, 会在下一篇中演示)
   
   
    下面就先演示一下IsolatedStorageSettings的使用方法:
     
    假设我们有一个应用,它是一个本地邮件管理和发送程序(如OutLook等).而我们写完一封EMAIL时可能不会立即将   
其发送出去,而是还生成一个Draft(草稿,以便日后进行编辑),当我们认为可以发送时才会去SEND。

    下面就是这个应用的一个原型, 如下图:

 附件: 您所在的用户组无法下载或查看附件
   
   
    我们可以在输入了相关信息之后,先将其保存为草稿. 当我们下次再运行这个应用时,做自动加载当前的草稿, 以
便我们进行编辑操作.当工作完成之后,就可以将其发送到Server端. 如果认为内容不好,我们也可以从Isolate Store
区中将该项内容删除.

    下面就是它的page.xaml代码:

Code


而相应的page.xaml.cs(位于源码包中的IsolatedStore_Demo文件夹)代码如下:

Code


上面代码中就是将subject(主题),Recipient(收件人),Body(邮件内容)以键值对的方式存储在Isolate Store
虚拟存储区中.而相应的WCF服务这里只是一种象征性的发送,并无什么实质内容,它在调用成功后会将结果以Bool型传
递回来,以便进行接下来其它操作.

    好了,今天的内容就到这里了:)
   
    源代码下载链接,请点击这里:
 附件: 您所在的用户组无法下载或查看附件

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Silverlight] 的这些文章也感兴趣:

Silverlight版的流程设计器
Silverlight 调用 WCF 如何处理错误
一步一步学Silverlight 2系列(4):鼠标事件处理
一步一步学Silverlight 2系列(18):综合实例之RSS阅读器
在Silverlight中使用DynamicMethod(动态方法)
Silverlight专题-引言
设计silverlight的MediaPlay控件
Silverlight与Javascript交互操作
Silverlight专题(10)- WatermarkedTextBox使用
Silverlight for KPI