Share via


Procedure: Winkels verkrijgen voor geïsoleerde opslag

In een geïsoleerde opslag wordt een virtueel bestandssysteem in een gegevenscompartiment weergegeven. De IsolatedStorageFile klasse biedt een aantal methoden voor interactie met een geïsoleerd archief. Voor het maken en ophalen van winkels IsolatedStorageFile biedt u drie statische methoden:

  • GetUserStoreForAssembly retourneert opslag die is geïsoleerd door gebruiker en assembly.

  • GetUserStoreForDomain retourneert opslag die is geïsoleerd door domein en assembly.

    Met beide methoden wordt een archief opgehaald dat deel uitmaakt van de code waaruit ze worden aangeroepen.

  • De statische methode GetStore retourneert een geïsoleerd archief dat wordt opgegeven door een combinatie van bereikparameters door te geven.

De volgende code retourneert een archief dat is geïsoleerd door gebruiker, assembly en domein.

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)

U kunt de GetStore methode gebruiken om op te geven dat een winkel moet roamen met een zwervend gebruikersprofiel. Zie Typen isolatie voor meer informatie over het instellen hiervan.

Geïsoleerde winkels die afkomstig zijn van verschillende assembly's zijn standaard verschillende winkels. U kunt toegang krijgen tot het archief van een andere assembly of een ander domein door te geven in de assembly- of domeingegevens in de parameters van de GetStore methode. Hiervoor is toestemming vereist voor toegang tot geïsoleerde opslag op basis van de identiteit van het toepassingsdomein. Zie de overbelasting van de GetStore methode voor meer informatie.

De GetUserStoreForAssembly, GetUserStoreForDomainen GetStore methoden retourneren een IsolatedStorageFile object. Zie Typen isolatie om te bepalen welk isolatietype het meest geschikt is voor uw situatie. Wanneer u een geïsoleerd opslagbestandsobject hebt, kunt u de geïsoleerde opslagmethoden gebruiken om bestanden en mappen te lezen, schrijven, maken en verwijderen.

Er is geen mechanisme waarmee wordt voorkomen dat code een IsolatedStorageFile object doorgeeft aan code die onvoldoende toegang heeft om het archief zelf op te halen. Domein- en assembly-identiteiten en geïsoleerde opslagmachtigingen worden alleen gecontroleerd wanneer een verwijzing naar een IsolatedStorage object wordt verkregen, meestal in de GetUserStoreForAssembly, GetUserStoreForDomainof GetStore methode. Het beveiligen van verwijzingen naar IsolatedStorageFile objecten is daarom de verantwoordelijkheid van de code die gebruikmaakt van deze verwijzingen.

Opmerking

De volgende code biedt een eenvoudig voorbeeld van een klasse die een archief verkrijgt dat is geïsoleerd door gebruiker en assembly. De code kan worden gewijzigd om een archief op te halen dat is geïsoleerd door gebruiker, domein en assembly door toe te voegen IsolatedStorageScope.Domain aan de argumenten die door de GetStore methode worden doorgegeven.

Nadat u de code hebt uitgevoerd, kunt u bevestigen dat een winkel is gemaakt door StoreAdm /LIST op de opdrachtregel te typen. Hiermee wordt het hulpprogramma Isolated Storage (Storeadm.exe) uitgevoerd en worden alle huidige geïsoleerde archieven voor de gebruiker weergegeven.

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

Zie ook