Gör så här: Hämta butiker för isolerad lagring
Ett isolerat arkiv exponerar ett virtuellt filsystem i ett datafack. Klassen IsolatedStorageFile tillhandahåller ett antal metoder för att interagera med ett isolerat lager. Om du vill skapa och hämta arkiv IsolatedStorageFile innehåller tre statiska metoder:
GetUserStoreForAssembly returnerar lagring som är isolerad av användare och sammansättning.
GetUserStoreForDomain returnerar lagring som är isolerad av domän och sammansättning.
Båda metoderna hämtar ett arkiv som tillhör koden som de anropas från.
Den statiska metoden GetStore returnerar ett isolerat lager som anges genom att skicka in en kombination av omfångsparametrar.
Följande kod returnerar ett arkiv som är isolerat av användare, sammansättning och domän.
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)
Du kan använda GetStore metoden för att ange att ett arkiv ska roaming med en central användarprofil. Mer information om hur du konfigurerar detta finns i Typer av isolering.
Isolerade butiker som hämtas från olika sammansättningar är som standard olika butiker. Du kan komma åt arkivet för en annan sammansättning eller domän genom att skicka in sammansättnings- eller domänbevis i metodens GetStore parametrar. Detta kräver behörighet att komma åt isolerad lagring efter programdomänidentitet. Mer information finns i GetStore metodens överlagringar.
Metoderna GetUserStoreForAssembly, GetUserStoreForDomainoch GetStore returnerar ett IsolatedStorageFile objekt. Information om vilken isoleringstyp som passar bäst för din situation finns i Typer av isolering. När du har ett isolerat lagringsfilobjekt kan du använda de isolerade lagringsmetoderna för att läsa, skriva, skapa och ta bort filer och kataloger.
Det finns ingen mekanism som hindrar kod från att skicka ett IsolatedStorageFile objekt till kod som inte har tillräcklig åtkomst för att hämta själva arkivet. Domän- och sammansättningsidentiteter och isolerade lagringsbehörigheter kontrolleras endast när en referens till ett IsolatedStorage objekt hämtas, vanligtvis i GetUserStoreForAssemblymetoden , GetUserStoreForDomaineller GetStore . Att skydda referenser till IsolatedStorageFile objekt är därför ansvaret för den kod som använder dessa referenser.
Exempel
Följande kod innehåller ett enkelt exempel på en klass som hämtar ett arkiv som är isolerat av användare och sammansättning. Koden kan ändras för att hämta ett arkiv som är isolerat av användare, domän och sammansättning genom att lägga IsolatedStorageScope.Domain till argumenten GetStore som metoden skickar.
När du har kört koden kan du bekräfta att ett arkiv har skapats genom att skriva StoreAdm /LIST på kommandoraden. Då körs verktyget Isolerad lagring (Storeadm.exe) och visar en lista över alla aktuella isolerade lager för användaren.
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