(牛人莫入)Silverlight 獨立檔案儲存體

來源:互聯網
上載者:User

如果你目前知道瞭解掌握了這些內容的SL愛好者不建議閱讀;

閱讀對象:本篇文章適合對SL有一定的基礎性的,瞭解SL朋友進行閱讀;此篇文章沒有什麼難的代碼,掌握獨立檔案儲存體的方式就可以了,如何把

獨立檔案儲存體在自己的項目中去;就可以了;

一、什麼是SL的獨立檔案儲存體呢?

Silverlight 代碼本身是不能去作業系統的,說白了就是他不能對你的系統的檔案去做一些CRUD(在你的系統中建立檔案,刪除檔案,ect);

如果允許做這樣的操作,那麼也要啟用IE的安全模式;但是在Silverlight 應用程式中又須要用到資料的儲存這個功能,SL會調用到Isolated Storage(隔離儲存區 (Isolated Storage))

這種儲存方式將提供一個磁碟儲存空間,他是一種虛擬檔案系統,能儲存小量的資料;在預設的情況下,它只能儲存1MB的檔案;使用者可能根據自己的要求可以對

空間的大小進行合理的分配;

 

二、獨立檔案的操作;

我們可以用到Syste.IO這個命名空間下的IsolateStorageFiel類,我們將得到一個IslatedStorageFile對象的當前應用程式用IsolatedStorageFile.GetUserStoreForApplicttion,如下所示:

IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();

IsolatedStorageFile 常用的方法如下:

方法名 備忘
CreateDirectory() 建立一個新的隔離儲存區 (Isolated Storage)檔案夾
DeleteDirectory() 刪除隔離儲存區 (Isolated Storage)檔案夾
CreateFile() 建立檔案
DeleteFile() 刪除檔案
Remove() 移出所有的檔案和檔案夾
GetFileNames() 得到檔案名稱集合
GetDirectoryNames() 得到檔案夾名稱集合
OpenFile() 開啟檔案

 

 

SL中獨立檔案的讀寫操作與我們操作用到的檔案資料的操作基本是一樣,StreamWrite,StreamRead這兩個方法;

在這裡建立一個名為“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());            }

現在檔案的資訊寫入進去,我們應該怎麼讀出呢?代碼如下:

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,不能的作業系統他所放的檔案位置是不一樣的,可能通過調試來找到;

三、自己的理解

檔案的讀寫操作都可以了,這時我們可以聯想到ASP。NET中的相同的檔案了,在ASP。NET中也有一個COOKIE,它也是寫在我們的用戶端的,

可能儲存一些使用者的資訊,在這裡我就不對ASP。NET中的COOKIE作過多的解釋了;說得更讓人理解一點,Silverlight 中的獨立檔案的儲存與COOKIE有一點相

同,但是目前我也只對它有這麼多的研究,它也可以來解決在項目中儲存使用者的登陸資訊的,這裡也有一個安全性的問題,大家可以根據自己的要求去解決;

 

本文是作者參考了Apress Pro. Silverligth 2,Apress Pro. Silverligth 3,相關的文檔,以及MSDN官方文檔,寫給自己的學習筆記,本文只供參考;

由於自己的理解能力有限,難免會有所理解不正確的地方,希望大家指正;

 

作者::good man(一起學習,共同進步)
出處:http://www.cnblogs.com/caodaiming
本文著作權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,否則保留追究法律責任的權利。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.