Silverlight獨(dú)立文件存儲知識一點(diǎn)通
Silverlight開發(fā)應(yīng)用對于一個經(jīng)驗(yàn)豐富的開發(fā)人員來說是一個非常有用的工具。他們可以通過這款工具帶來的功能,輕松的解決基于多媒體相關(guān)的功能需求。下面我們就先來了解一下有關(guān)Silverlight獨(dú)立文件存儲相關(guān)概念。#t#
一、什么是Silverlight獨(dú)立文件存儲呢?
Silverlight 代碼本身是不能去操作系統(tǒng)的,說白了就是他不能對你的系統(tǒng)的文件去做一些CRUD(在你的系統(tǒng)中創(chuàng)建文件,刪除文件,ect);如果允許做這樣的操作,那么也要啟用IE的安全模式;但是在Silverlight 應(yīng)用程序中又須要用到數(shù)據(jù)的存儲這個功能,SL會調(diào)用到Isolated Storage(獨(dú)立存儲)。這種存儲方式將提供一個磁盤存儲空間,他是一種虛擬的文件系統(tǒng),能存儲小量的數(shù)據(jù);在默認(rèn)的情況下,它只能存儲1MB的文件;用戶可能根據(jù)自己的要求可以對空間的大小進(jìn)行合理的分配;
二、Silverlight獨(dú)立文件存儲的操作;
我們可以用到Syste.IO這個命名空間下的IsolateStorageFiel類,我們將得到一個IslatedStorageFile對象的當(dāng)前應(yīng)用程序用IsolatedStorageFile.GetUserStoreForApplicttion,如下所示:
- IsolatedStorageFile store =
IsolatedStorageFile.GetUser
StoreForApplication();- IsolatedStorageFile
Silverlight獨(dú)立文件存儲常用的方法如下:
方法名 備注
CreateDirectory() 創(chuàng)建一個新的獨(dú)立存儲文件夾
DeleteDirectory() 刪除獨(dú)立存儲文件夾
CreateFile() 創(chuàng)建文件
DeleteFile() 刪除文件
Remove() 移出所有的文件和文件夾
GetFileNames() 得到文件名稱集合
GetDirectoryNames() 得到文件夾名稱集合
OpenFile() 打開文件
Silverlight獨(dú)立文件存儲的讀寫操作與我們操作用到的文件數(shù)據(jù)的操作基本是一樣,StreamWrite,StreamRead這兩個方法;
在這里創(chuàng)建一個名為“cao.txt”的文件,并寫入當(dāng)前的時間;他的文件寫如代碼如下:
- //文?件t的?寫′入?
- try
- {
- using (IsolatedStorageFile store =
- IsolatedStorageFile.GetUserStore
ForApplication())- {
- 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.GetUserStoreFor
Application())- {
- using (IsolatedStorageFileStream stream
= store.OpenFile("date.txt",- FileMode.Open))
- {
- StreamReader reader = new Stream
Reader(stream);- lblData.Text = reader.ReadLine();
- reader.Close();
- }
- }
- }
- catch (Exception err)
- {
- MessageBox.Show(err.Message.ToString());
- }
通過對文件的讀取時我們對它調(diào)試不難找到他的存儲位置,C:\Users\matthew\AppData\LocalLow\Microsoft\Silverlight\is\sid3dsxe.u1y\lstesiyg.ezx
\s\atkj2fb5vjnabwjsx2nfj3htrsq1ku1h\f\cao.txt,不能的操作系統(tǒng)他所放的文件位置是不一樣的,可能通過調(diào)試來找到;
三、自己的理解
Silverlight獨(dú)立文件存儲的讀寫操作都可以了,這時我們可以聯(lián)想到ASP。NET中的相同的文件了,在ASP。NET中也有一個COOKIE,它也是寫在我們的客戶端的,可能保存一些用戶的信息,在這里我就不對ASP。NET中的COOKIE作過多的解釋了;說得更讓人理解一點(diǎn),Silverlight 中的獨(dú)立文件的存儲與COOKIE有一點(diǎn)相同,但是目前我也只對它有這么多的研究,它也可以來解決在項(xiàng)目中保存用戶的登陸信息的,這里也有一個安全性的問題,大家可以根據(jù)自己的要求去解決;