Silverlight獨立文件存儲知識一點通
Silverlight開發應用對于一個經驗豐富的開發人員來說是一個非常有用的工具。他們可以通過這款工具帶來的功能,輕松的解決基于多媒體相關的功能需求。下面我們就先來了解一下有關Silverlight獨立文件存儲相關概念。#t#
一、什么是Silverlight獨立文件存儲呢?
Silverlight 代碼本身是不能去操作系統的,說白了就是他不能對你的系統的文件去做一些CRUD(在你的系統中創建文件,刪除文件,ect);如果允許做這樣的操作,那么也要啟用IE的安全模式;但是在Silverlight 應用程序中又須要用到數據的存儲這個功能,SL會調用到Isolated Storage(獨立存儲)。這種存儲方式將提供一個磁盤存儲空間,他是一種虛擬的文件系統,能存儲小量的數據;在默認的情況下,它只能存儲1MB的文件;用戶可能根據自己的要求可以對空間的大小進行合理的分配;
二、Silverlight獨立文件存儲的操作;
我們可以用到Syste.IO這個命名空間下的IsolateStorageFiel類,我們將得到一個IslatedStorageFile對象的當前應用程序用IsolatedStorageFile.GetUserStoreForApplicttion,如下所示:
- IsolatedStorageFile store =
IsolatedStorageFile.GetUser
StoreForApplication();- IsolatedStorageFile
Silverlight獨立文件存儲常用的方法如下:
方法名 備注
CreateDirectory() 創建一個新的獨立存儲文件夾
DeleteDirectory() 刪除獨立存儲文件夾
CreateFile() 創建文件
DeleteFile() 刪除文件
Remove() 移出所有的文件和文件夾
GetFileNames() 得到文件名稱集合
GetDirectoryNames() 得到文件夾名稱集合
OpenFile() 打開文件
Silverlight獨立文件存儲的讀寫操作與我們操作用到的文件數據的操作基本是一樣,StreamWrite,StreamRead這兩個方法;
在這里創建一個名為“cao.txt”的文件,并寫入當前的時間;他的文件寫如代碼如下:
- //文?件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());
- }
現在文件的信息寫入進去,我們應該怎么讀出呢?代碼如下:
- 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());
- }
通過對文件的讀取時我們對它調試不難找到他的存儲位置,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有一點相同,但是目前我也只對它有這么多的研究,它也可以來解決在項目中保存用戶的登陸信息的,這里也有一個安全性的問題,大家可以根據自己的要求去解決;