Postupy: Získávání úložišť pro izolované úložiště

Izolované úložiště zveřejňuje virtuální systém souborů v datovém prostoru. Třída IsolatedStorageFile poskytuje řadu metod pro interakci s izolovaným úložištěm. K vytváření a načítání úložišť IsolatedStorageFile poskytuje tři statické metody:

  • GetUserStoreForAssembly vrátí úložiště izolované uživatelem a sestavením.

  • GetUserStoreForDomain vrátí úložiště, které je izolované podle domény a sestavení.

    Obě metody načtou úložiště, které patří do kódu, ze kterého se volají.

  • Statická metoda GetStore vrátí izolované úložiště určené předáním kombinace parametrů oboru.

Následující kód vrátí úložiště, které je izolované uživatelem, sestavením a doménou.

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)

Metodu GetStore můžete použít k určení, že úložiště by se mělo pocházet s cestovním profilem uživatele. Podrobnosti o tom, jak to nastavit, najdete v tématu Typy izolace.

Izolované úložiště získaná z různých sestavení jsou ve výchozím nastavení různá úložiště. K úložišti jiného sestavení nebo domény můžete přistupovat předáním sestavení nebo důkazu domény v parametrech GetStore metody. To vyžaduje oprávnění pro přístup k izolovanému úložišti identitou domény aplikace. Další informace naleznete v GetStore přetížení metody.

GetUserStoreForDomain, GetUserStoreForAssemblya GetStore metody vrací IsolatedStorageFile objekt. Chcete-li vám pomoci rozhodnout, který typ izolace je nejvhodnější pro vaši situaci, přečtěte si téma Typy izolace. Pokud máte objekt souboru izolovaného úložiště, můžete pomocí metod izolovaného úložiště číst, zapisovat, vytvářet a odstraňovat soubory a adresáře.

Neexistuje žádný mechanismus, který brání kódu předat IsolatedStorageFile objekt kódu, který nemá dostatečný přístup k získání samotného úložiště. Identity domény a sestavení a oprávnění izolovaného úložiště jsou kontrolovány pouze v případě, že je získán odkaz na IsolatedStorage objekt, obvykle v , GetUserStoreForAssemblyGetUserStoreForDomainnebo GetStore metodě. Ochrana odkazů na IsolatedStorageFile objekty je proto odpovědností kódu, který tyto odkazy používá.

Příklad

Následující kód poskytuje jednoduchý příklad třídy získání úložiště, které je izolované uživatelem a sestavením. Kód lze změnit tak, aby načetl úložiště, které je izolované uživatelem, doménou a sestavením přidáním IsolatedStorageScope.Domain argumentů, které GetStore metoda předává.

Po spuštění kódu můžete potvrdit, že úložiště bylo vytvořeno zadáním StoreAdm /LIST na příkazovém řádku. Tím se spustí nástroj izolovaného úložiště (Storeadm.exe) a zobrazí se seznam všech aktuálních izolovaných úložišť pro uživatele.

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

Viz také