Share via


取得存放區

存放區公開資料區間內的虛擬檔案系統。IsolatedStorageFile 提供一些與存放區互動的方法。為了建立並擷取存放區,IsolatedStorageFile 提供三個靜態方法。呼叫 GetUserStoreForAssemblyGetUserStoreForDomain 將分別傳回依據使用者和組件與依據使用者、定義域和組件隔離的儲存區。這兩個方法擷取屬於呼叫它們的程式碼區塊的存放區。靜態方法 GetStore 傳回藉著傳入範圍參數組合而指定的隔離存放區。下列參數傳回使用者、組件和定義域所隔離的存放區。

Dim isoStore As IsolatedStorageFile
isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain, Nothing, Nothing)
GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly | IsolatedStorageScope.Domain, null, null);

GetStore 方法可以用來指定存放區應該與漫遊使用者設定檔一起漫遊。如需如何設定這項功能的詳細資訊,請參閱隔離儲存區和漫遊

自不同組件內取得的隔離存放區在預設狀況中為不同的存放區。您可以傳入不同組件或定義域辨識項當做 GetStore 方法的最後兩個參數,來存取不同組件或定義域的存放區。這需要使用權限,根據應用程式定義域識別來存取隔離儲存區。如需詳細資訊,請參閱 GetStore 方法。如需組件的詳細資訊,請參閱組件

這三個方法的每一個都傳回 IsolatedStorageFile 物件。為了協助您決定哪一個隔離類型最適合您的情況,請參閱隔離的類型。一旦您擁有隔離儲存區檔案物件,您即可使用隔離儲存區方法去讀取、寫入、建立和刪除檔案和檔案目錄。

沒有機制可以防止程式碼傳遞 IsolatedStorageFile 至本身沒有充分存取權取得存放區的程式碼。只有取得 IsolatedStorage 物件的參考時 (通常在 GetUserStoreForAssemblyGetUserStoreForDomainGetStore 方法中),才會檢查定義域和組件識別與隔離儲存區使用權限。因此,保護 IsolatedStorageFile 物件的參考是使用這些參考的程式碼的責任。

ObtainingAStore 範例

下列程式碼範例是一個非常簡單的範例,示範取得使用者和組件所隔離存放區的類別。藉著加入 IsolatedStorageScope.DomainGetStore 方法將要傳遞的引數,可以變更程式碼來擷取使用者、定義域和組件所隔離的存放區。

執行程式碼之後,您可以在命令列輸入 StoreAdm /LIST,確認存放區已建立。這樣會執行隔離儲存區管理工具 (Storeadm.exe),並列出使用者的所有目前隔離存放區。如需 Storeadm.exe 的詳細資訊,請參閱隔離儲存區工具

Imports System
Imports System.IO.IsolatedStorage

Public Module modmain

    Sub Main()

        ' Dimension a new IsolatedStorageFile.

        Dim isoStore As IsolatedStorageFile

        ' Set the IsolatedStorageFile to a store isolated by user and
        ' assembly.

        isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or IsolatedStorageScope.Assembly, Nothing, Nothing)

    End Sub
End Module
using System;
using System.IO.IsolatedStorage;

public class ObtainingAStore{
    public static void Main(){

        // Get a new isolated store for this assembly and put it into an
        // isolated store object.

        IsolatedStorageFile isoStore =  IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null);

    }
}

請參閱

參考

IsolatedStorageFile
IsolatedStorageScope

概念

隔離的類型

其他資源

執行隔離儲存區工作
Common Language Runtime 中的組件