隔離儲存區的簡介
更新:2007 年 11 月
當應用程式在檔案中儲存資料時,檔案名稱和儲存位置必須小心選擇,將儲存位置為另一個應用程式知悉因而遭受損毀的可能性降至最低。若沒有一個標準系統從中管理這些問題,開發特別技術以使儲存衝突降至最低可能會很複雜,而且結果也不可靠。
有了隔離儲存區,資料永遠按照使用者和按照組件 (Assembly) 來隔離。認證 (例如組件的來源或強式名稱) 會決定組件的識別 (Identity)。資料也可以使用類似的認證,依據應用程式定義域來隔離。
使用隔離儲存區時,應用程式儲存資料至與程式碼識別的某些方面 (例如它的網站、發行者或簽章) 相關的唯一資料區間。資料區間為抽象概念,不是特定儲存位置;它由一個或多個稱為存放區的隔離儲存區檔案 (包含資料儲存的實際目錄位置) 所構成。例如,Web 應用程式可能具有與它相關的資料區間,而檔案系統中的目錄則將實作實際保留那個應用程式資料的存放區。儲存在存放區中的資料可以是任何種類的資料,從使用者的喜好資訊至應用程式的狀態。對於開發人員,資料區間的位置是透明的;存放區通常位於用戶端,但伺服器應用程式可以經由模擬使用者以代表他進行運作,來使用隔離存放區儲存資訊。隔離儲存區 (Isolated Storage) 也可以配合使用者漫遊設定檔在伺服器上儲存資訊,讓漫遊使用者隨時隨地都能使用資訊。
系統管理員可以根據適當的信任等級,限制應用程式或使用者可使用多少隔離儲存區。此外,系統管理員可以移除使用者的所有保存資料。若要建立或存取隔離儲存區,必須授與程式碼適當的 IsolatedStorageFilePermission。
若要存取隔離儲存區,程式碼必須擁有所有必要的原生 (Native) 平台作業系統權限。例如,在 Windows 2000 上必須滿足存取控制清單 (ACL),以控制哪一個使用者擁有使用檔案系統的權限。Microsoft .NET Framework 應用程式已經擁有作業系統權限以存取隔離儲存區,除非它們執行 (平台特定) 模擬。在這個狀況中,應用程式有責任確保模擬的使用者識別具有適當的作業系統權限,以存取隔離儲存區。這個存取對於從 Web 執行或下載的程式碼提供便利的方式,以讀取和寫入與特定使用者有關的儲存區域。
有時候,使用作業系統的檔案系統來驗證隔離儲存區的變更,很有用處。開發人員可能也需要知道隔離儲存區檔案的位置。這個位置依作業系統而不同。下表顯示在幾個一般作業系統上建立隔離儲存區所在的根 (Root) 位置。尋找這個根位置下的 Microsoft\IsolatedStorage 目錄。您必須變更資料夾設定值來顯示隱藏的檔案和資料夾,以便可以在檔案系統中看到隔離儲存區。
作業系統 |
檔案系統中的位置 |
---|---|
Windows 98、Windows Me - 未啟用使用者設定檔 |
啟用漫遊的存放區 = <SYSTEMROOT>\Application Data 非漫遊存放區 = WINDOWS\Local Settings\Application Data |
Windows 98、Windows Me - 已啟用使用者設定檔 |
啟用漫遊的存放區 = <SYSTEMROOT>\Profiles\<user>\Application Data 非漫遊存放區 = Windows\Local Settings\Application Data |
Windows NT 4.0 |
<SYSTEMROOT>\Profiles\<user>\Application Data |
Windows NT 4.0 - Service Pack 4 |
啟用漫遊的存放區 = <SYSTEMROOT>\Profiles\<user>\Application Data 非漫遊存放區 = <SYSTEMROOT>\Profiles\<user>\Local Settings\Application Data |
Windows 2000、Windows XP、Windows Server 2003 - 從 NT 4.0 升級 |
啟用漫遊的存放區 = <SYSTEMROOT>\Profiles\<user>\Application Data 非漫遊存放區 = <SYSTEMROOT>\Profiles\<user>\Local Settings\Application Data |
Windows 2000 - 全新安裝 (以及自 Windows 98 和 NT 3.51 升級) |
啟用漫遊的存放區 = <SYSTEMDRIVE>\Documents and Settings\<user>\Application Data 非漫遊存放區 = <SYSTEMDRIVE>\Documents and Settings\<user>\Local Settings\Application Data |
Windows XP、Windows Server 2003 - 全新安裝 (且從 Windows 2000 和 Windows 98 升級) |
啟用漫遊的存放區 = <SYSTEMDRIVE>\Documents and Settings\<user>\Application Data 非漫遊存放區 = <SYSTEMDRIVE>\Documents and Settings\<user>\Local Settings\Application Data |
Windows Vista |
啟用漫遊的存放區 = <SYSTEMDRIVE>\Users\<user>\AppData\Roaming 非漫遊存放區 = <SYSTEMDRIVE>\Users\<user>\AppData\Local |