(牛人莫入)Silverlight 独立文件存储
如果你目前知道了解掌握了這些內(nèi)容的SL愛好者不建議閱讀;
閱讀對象:本篇文章適合對SL有一定的基礎(chǔ)性的,了解SL朋友進行閱讀;此篇文章沒有什么難的代碼,掌握獨立文件存儲的方式就可以了,如何把
獨立文件存儲在自己的項目中去;就可以了;
一、什么是SL的獨立文件存儲呢?
Silverlight 代碼本身是不能去操作系統(tǒng)的,說白了就是他不能對你的系統(tǒng)的文件去做一些CRUD(在你的系統(tǒng)中創(chuàng)建文件,刪除文件,ect);
如果允許做這樣的操作,那么也要啟用IE的安全模式;但是在Silverlight 應(yīng)用程序中又須要用到數(shù)據(jù)的存儲這個功能,SL會調(diào)用到Isolated Storage(獨立存儲)
這種存儲方式將提供一個磁盤存儲空間,他是一種虛擬的文件系統(tǒng),能存儲小量的數(shù)據(jù);在默認的情況下,它只能存儲1MB的文件;用戶可能根據(jù)自己的要求可以對
空間的大小進行合理的分配;
?
二、獨立文件的操作;
我們可以用到Syste.IO這個命名空間下的IsolateStorageFiel類,我們將得到一個IslatedStorageFile對象的當前應(yīng)用程序用IsolatedStorageFile.GetUserStoreForApplicttion,如下所示:
IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFile 常用的方法如下:
| 方法名 | 備注 |
| CreateDirectory() | 創(chuàng)建一個新的獨立存儲文件夾 |
| DeleteDirectory() | 刪除獨立存儲文件夾 |
| CreateFile() | 創(chuàng)建文件 |
| DeleteFile() | 刪除文件 |
| Remove() | 移出所有的文件和文件夾 |
| GetFileNames() | 得到文件名稱集合 |
| GetDirectoryNames() | 得到文件夾名稱集合 |
| OpenFile() | 打開文件 |
?
?SL中獨立文件的讀寫操作與我們操作用到的文件數(shù)據(jù)的操作基本是一樣,StreamWrite,StreamRead這兩個方法;
在這里創(chuàng)建一個名為“cao.txt”的文件,并寫入當前的時間;他的文件寫如代碼如下:
//文?件t的?寫′入?try{using (IsolatedStorageFile store =IsolatedStorageFile.GetUserStoreForApplication()){using (IsolatedStorageFileStream stream = store.CreateFile("cao.txt")){StreamWriter writer = new StreamWriter(stream);writer.Write(DateTime.Now);writer.Close();}MessageBox.Show("文?件t寫′入?成é功|");}}catch (Exception err){MessageBox.Show(err.Message.ToString());}現(xiàn)在文件的信息寫入進去,我們應(yīng)該怎么讀出呢?代碼如下:
try{using (IsolatedStorageFile store =IsolatedStorageFile.GetUserStoreForApplication()){using (IsolatedStorageFileStream stream = store.OpenFile("date.txt",FileMode.Open)){StreamReader reader = new StreamReader(stream);lblData.Text = reader.ReadLine();reader.Close();}}}catch (Exception err){MessageBox.Show(err.Message.ToString());}C:\Users\matthew\AppData\LocalLow\Microsoft\Silverlight\is\sid3dsxe.u1y\lstesiyg.ezx
\s\atkj2fb5vjnabwjsx2nfj3htrsq1ku1h\f\cao.txt,不能的操作系統(tǒng)他所放的文件位置是不一樣的,可能通過調(diào)試來找到;
三、自己的理解
文件的讀寫操作都可以了,這時我們可以聯(lián)想到ASP。NET中的相同的文件了,在ASP。NET中也有一個COOKIE,它也是寫在我們的客戶端的,
可能保存一些用戶的信息,在這里我就不對ASP。NET中的COOKIE作過多的解釋了;說得更讓人理解一點,Silverlight 中的獨立文件的存儲與COOKIE有一點相
同,但是目前我也只對它有這么多的研究,它也可以來解決在項目中保存用戶的登陸信息的,這里也有一個安全性的問題,大家可以根據(jù)自己的要求去解決;
?
本文是作者參考了Apress Pro. Silverligth 2,Apress Pro. Silverligth 3,相關(guān)的文檔,以及MSDN官方文檔,寫給自己的學(xué)習(xí)筆記,本文只供參考;
由于自己的理解能力有限,難免會有所理解不正確的地方,希望大家指正;
?
作者::good man(一起學(xué)習(xí),共同進步)
出處:http://www.cnblogs.com/caodaiming
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。
總結(jié)
以上是生活随笔為你收集整理的(牛人莫入)Silverlight 独立文件存储的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android:理想的框架开发母板——高
- 下一篇: 配置Apache时出错及解决方法