Silverlight獨(dú)立存儲(chǔ)相關(guān)特點(diǎn)介紹
Silverlight作為一款新的開發(fā)工具,其各種特性在開發(fā)人員眼中都是一個(gè)比較新奇的功能。我們可以利用它在各個(gè)平臺(tái)中開發(fā)出許多多媒體相關(guān)的程序。并在一定程度上減輕了編程者的開發(fā)壓力。#t#
Silverlight獨(dú)立存儲(chǔ)是Silverlight 2中提供的一個(gè)客戶端安全的存儲(chǔ),它是一個(gè)與Cookie機(jī)制類似的局部信任機(jī)制。獨(dú)立存儲(chǔ)機(jī)制的APIs 提供了一個(gè)虛擬的文件系統(tǒng)和可以訪問這個(gè)虛擬文件系統(tǒng)的數(shù)據(jù)流對(duì)象。Silverlight中的獨(dú)立存儲(chǔ)是基于 .NET Framework中的獨(dú)立存儲(chǔ)來建立的,所以它僅僅是.NET Framework中獨(dú)立存儲(chǔ)的一個(gè)子集。
Silverlight獨(dú)立存儲(chǔ)有以下一些特征:
1.每個(gè)基于Silverlight的應(yīng)用程序都被分配了屬于它自己的一部分存儲(chǔ)空間, 但是應(yīng)用程序中的程序集卻是在存儲(chǔ)空間中共享的。一個(gè)應(yīng)用程序被服務(wù)器賦給了一個(gè)***的固定的標(biāo)識(shí)值?;赟ilverlight的應(yīng)用程序的虛擬文件系統(tǒng)現(xiàn)在就以一個(gè)標(biāo)識(shí)值的方式來訪問了。這個(gè)標(biāo)識(shí)值必須是一個(gè)常量,這樣每次應(yīng)用程序運(yùn)行時(shí)才可以找到這個(gè)共享的位置。
2.獨(dú)立存儲(chǔ)的APIs 其實(shí)和其它的文件操作APIs類似,比如 File 和 Directory 這些用來訪問和維護(hù)文件或文件夾的類。 它們都是基于FileStream APIs 來維護(hù)文件的內(nèi)容的。
3.獨(dú)立存儲(chǔ)嚴(yán)格的限制了應(yīng)用程序可以存儲(chǔ)的數(shù)據(jù)的大小,目前的上限是每個(gè)應(yīng)用程序?yàn)? MB。
Silverlight中的獨(dú)立存儲(chǔ)功能通過密封類IsolatedStorageFile來提供,位于命名空間System.IO.IsolatedStorag中,IsolatedStorageFile類抽象了獨(dú)立存儲(chǔ)的虛擬文件系統(tǒng)。創(chuàng)建一個(gè) IsolatedStorageFile 類的實(shí)例,可以使用它對(duì)文件或文件夾進(jìn)行列舉或管理。同樣還可以使用該類的 IsolatedStorageFileStream 對(duì)象來管理文件內(nèi)容。
在Silverlight 2中支持兩種方式的Silverlight獨(dú)立存儲(chǔ),即按應(yīng)用程序存儲(chǔ)或者按站點(diǎn)存儲(chǔ),可以分別使用GetUserStoreForApplication方法和GetUserStoreForSite方法來獲取IsolatedStorageFile對(duì)象。