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