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