Silverligt支持一种类似Cookie的独立存储(Isolated Storage),它是基于客户端文件系统,同时Silverlight提供了一系列操作这个虚拟空间的对象和方法,每个Silverlight应用程序都被分配了自己独立的存储空间。
存储空间的位置在不同的操作系统下并不相同,在WindowsXP下的是根据用户账号区分的,如果你使用的Administrator用户登录的话,那么Isolated Storage的位置就是:
c:\Documents and Settings\Administrator\Local Setting\Application Data\Microsoft\Silverlight\is\
在WIN7中的位置也是根据登录用户区分,如果使用Administrator用户登录,那么Isolated Storag位置:
C:\Users\Administrator\AppData\LocalLow\Microsoft\Silverlight\is\
Isolated Storage根据应用程序的作用域不同,分为引用程序和站点两种类型,使用时分别通过两种不同的对象来引用它。
应用站点: IsolatedStorageFile.GetUserStoreForApplcation()
站点:IsolatedStorageFile.GetUserStoreForSite()
使用之前首先要引用 System.IO.IsolatedStorage命名空间,如果要使用StreamWriter类就要引用System.IO
Silverlight中的独立存储是其内部的可信任的可访问文件空间,在这里你可以使用Silverlight随意的创建、读取、写入、删除目录和文件,它有一些类似于Cookie,但是它可以在客户端保存大量的数据。这个空间默认是1M,如果不够的时候可以申请扩大容量。
网站+用户+应用程序定位一个独立存储,也就是说必须得相同网站,相同用户,相同应用程序才能够访问这个独立的存储空间。独立存储是IsolatedStorageFile密封类来进行设置的,这个类分布在命名空间System.IO.IsolatedStorag。我们引用System.IO命名空间对文件进行操作。下面我们来看一个演示的Xaml代码如下:
<UserControl x:Class="IsolatedStorageDemo.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White">