Silverlight独立文件存储知识一点通
创始人
2024-06-19 00:30:28
0

Silverlight开发应用对于一个经验丰富的开发人员来说是一个非常有用的工具。他们可以通过这款工具带来的功能,轻松的解决基于多媒体相关的功能需求。下面我们就先来了解一下有关Silverlight独立文件存储相关概念。#t#

一、什么是Silverlight独立文件存储呢?

Silverlight 代码本身是不能去操作系统的,说白了就是他不能对你的系统的文件去做一些CRUD(在你的系统中创建文件,删除文件,ect);如果允许做这样的操作,那么也要启用IE的安全模式;但是在Silverlight 应用程序中又须要用到数据的存储这个功能,SL会调用到Isolated Storage(独立存储)。这种存储方式将提供一个磁盘存储空间,他是一种虚拟的文件系统,能存储小量的数据;在默认的情况下,它只能存储1MB的文件;用户可能根据自己的要求可以对空间的大小进行合理的分配;
 

二、Silverlight独立文件存储的操作;

我们可以用到Syste.IO这个命名空间下的IsolateStorageFiel类,我们将得到一个IslatedStorageFile对象的当前应用程序用IsolatedStorageFile.GetUserStoreForApplicttion,如下所示:

 

  1. IsolatedStorageFile store = 
    IsolatedStorageFile.GetUser
    StoreForApplication();  
  2. IsolatedStorageFile  

 

Silverlight独立文件存储常用的方法如下:

方法名 备注
CreateDirectory() 创建一个新的独立存储文件夹
DeleteDirectory() 删除独立存储文件夹
CreateFile() 创建文件
DeleteFile() 删除文件
Remove() 移出所有的文件和文件夹
GetFileNames() 得到文件名称集合
GetDirectoryNames() 得到文件夹名称集合
OpenFile() 打开文件

Silverlight独立文件存储的读写操作与我们操作用到的文件数据的操作基本是一样,StreamWrite,StreamRead这两个方法;

在这里创建一个名为“cao.txt”的文件,并写入当前的时间;他的文件写如代码如下:

  1. //文?件t的?写′入?  
  2. try  
  3. {  
  4. using (IsolatedStorageFile store =  
  5. IsolatedStorageFile.GetUserStore
    ForApplication())  
  6. {  
  7. using (IsolatedStorageFileStream 
    stream = store.CreateFile("cao.txt"))  
  8. {  
  9. StreamWriter writer = new 
    StreamWriter(stream);  
  10. writer.Write(DateTime.Now);  
  11. writer.Close();  
  12. }  
  13. MessageBox.Show("文?件t写′入?成é功|");  
  14. }  
  15. }  
  16. catch (Exception err)  
  17. {  
  18. MessageBox.Show(err.Message.ToString());  

现在文件的信息写入进去,我们应该怎么读出呢?代码如下:

  1. try  
  2. {  
  3. using (IsolatedStorageFile store =  
  4. IsolatedStorageFile.GetUserStoreFor
    Application())  
  5. {  
  6. using (IsolatedStorageFileStream stream 
    = store.OpenFile("date.txt",  
  7. FileMode.Open))  
  8. {  
  9. StreamReader reader = new Stream
    Reader(stream);  
  10. lblData.Text = reader.ReadLine();  
  11. reader.Close();  
  12. }  
  13. }  
  14. }  
  15. catch (Exception err)  
  16. {  
  17. MessageBox.Show(err.Message.ToString());  

通过对文件的读取时我们对它调试不难找到他的存储位置,C:\Users\matthew\AppData\LocalLow\Microsoft\Silverlight\is\sid3dsxe.u1y\lstesiyg.ezx
\s\atkj2fb5vjnabwjsx2nfj3htrsq1ku1h\f\cao.txt,不能的操作系统他所放的文件位置是不一样的,可能通过调试来找到;

三、自己的理解

Silverlight独立文件存储的读写操作都可以了,这时我们可以联想到ASP。NET中的相同的文件了,在ASP。NET中也有一个COOKIE,它也是写在我们的客户端的,可能保存一些用户的信息,在这里我就不对ASP。NET中的COOKIE作过多的解释了;说得更让人理解一点,Silverlight 中的独立文件的存储与COOKIE有一点相同,但是目前我也只对它有这么多的研究,它也可以来解决在项目中保存用户的登陆信息的,这里也有一个安全性的问题,大家可以根据自己的要求去解决;

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...