Megosztás a következőn keresztül:


Útmutató: Tárolók beszerzése izolált tároláshoz

Egy elkülönített tároló egy virtuális fájlrendszert tesz elérhetővé egy adattérben. Az IsolatedStorageFile osztály számos módszert biztosít az izolált tárolókkal való interakcióhoz. Az áruházak IsolatedStorageFile létrehozásához és lekéréséhez három statikus metódust biztosít:

  • GetUserStoreForAssembly A felhasználó és a szerelvény által elkülönített tárolót adja vissza.

  • GetUserStoreForDomain tartomány és szerelvény által elkülönített tárolót ad vissza.

    Mindkét metódus lekéri a kódhoz tartozó tárolót.

  • A statikus metódus GetStore egy izolált tárolót ad vissza, amelyet hatókörparaméterek kombinációjának átadásával határoz meg.

Az alábbi kód egy, a felhasználó, a szerelvény és a tartomány által elkülönített tárolót ad vissza.

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

Ezzel a GetStore módszerrel megadhatja, hogy egy tároló barangolási felhasználói profillal járjon. Ennek beállításáról további információt az Elkülönítés típusai című témakörben talál.

A különböző szerelvényekből beszerzett elkülönített tárolók alapértelmezés szerint különböző tárolók. Egy másik szerelvény vagy tartomány tárolóját úgy érheti el, hogy a metódus paraméterei között átadja a szerelvény vagy a tartomány bizonyítékait GetStore . Ehhez engedélyre van szükség az izolált tároló alkalmazástartomány-identitás alapján való eléréséhez. További információkért tekintse meg a GetStore metódus túlterheléseit.

A GetUserStoreForAssembly, GetUserStoreForDomainés GetStore metódusok egy objektumot IsolatedStorageFile ad vissza. Annak eldöntéséhez, hogy melyik elkülönítési típus felel meg a legmegfelelőbbnek, olvassa el az Elkülönítés típusai című témakört. Ha izolált tárolófájl-objektummal rendelkezik, az izolált tárolási módszereket használhatja fájlok és könyvtárak olvasására, írására, létrehozására és törlésére.

Nincs olyan mechanizmus, amely megakadályozza, hogy a kód átadjon egy IsolatedStorageFile objektumot olyan kódnak, amely nem rendelkezik elegendő hozzáféréssel ahhoz, hogy magához az áruházhoz jusson. A tartomány- és szerelvényidentitásokat és az elkülönített tárolási engedélyeket csak akkor ellenőrzi a rendszer, ha egy IsolatedStorage objektumra mutató hivatkozást szerez be, általában a GetUserStoreForAssembly, GetUserStoreForDomainvagy GetStore metódusban. Az objektumokra IsolatedStorageFile mutató hivatkozások védelme ezért az ezeket a hivatkozásokat használó kód feladata.

Példa

Az alábbi kód egy egyszerű példát mutat be egy osztályra, amely egy, a felhasználó és a szerelvény által elkülönített tárolót szerez be. A kód módosítható úgy, hogy lekérjen egy, a felhasználó, a tartomány és a szerelvény által elkülönített tárolót, ha hozzáadja IsolatedStorageScope.Domain a GetStore metódus által megadott argumentumokat.

A kód futtatása után ellenőrizheti, hogy létre lett-e hozva egy tároló, ha beírja a StoreAdm /LIST parancsot a parancssorba. Ez az Izolált tároló eszközt (Storeadm.exe) futtatja, és felsorolja a felhasználó aktuális izolált tárolóját.

using namespace System;
using namespace System::IO::IsolatedStorage;

public ref 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, (Type ^)nullptr, (Type ^)nullptr);
    }
};
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);
    }
}
Imports System.IO.IsolatedStorage

Public Class ObtainingAStore
    Public Shared Sub Main()
        ' Get a new isolated store for this assembly and put it into an
        ' isolated store object.

        Dim isoStore As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or
            IsolatedStorageScope.Assembly, Nothing, Nothing)
    End Sub
End Class

Lásd még