Procedura: Recuperare archivi per lo spazio di memorizzazione isolatoHow to: Obtain Stores for Isolated Storage

Un archivio isolato espone un file system virtuale all'interno di un raggruppamento dati.An isolated store exposes a virtual file system within a data compartment. La classe IsolatedStorageFile fornisce numerosi metodi per l'interazione con un archivio isolato.The IsolatedStorageFile class supplies a number of methods for interacting with an isolated store. Per creare e recuperare archivi, IsolatedStorageFile fornisce tre metodi statici:To create and retrieve stores, IsolatedStorageFile provides three static methods:

  • GetUserStoreForAssembly restituisce lo spazio di archiviazione isolato in base a utente e assembly.GetUserStoreForAssembly returns storage that is isolated by user and assembly.

  • GetUserStoreForDomain restituisce lo spazio di archiviazione isolato in base a dominio e assembly.GetUserStoreForDomain returns storage that is isolated by domain and assembly.

    Entrambi i metodi di recuperano un archivio che appartiene al codice da cui vengono chiamati.Both methods retrieve a store that belongs to the code from which they are called.

  • Il metodo statico GetStore restituisce un archivio isolato specificato passando una combinazione di parametri di ambito.The static method GetStore returns an isolated store that is specified by passing in a combination of scope parameters.

Il codice seguente restituisce un archivio isolato in base a utente, assembly e dominio.The following code returns a store that is isolated by user, assembly, and domain.

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)

È possibile usare il metodo GetStore per specificare che un archivio deve effettuare il roaming con un profilo utente mobile.You can use the GetStore method to specify that a store should roam with a roaming user profile. Per informazioni dettagliate su come specificare questa configurazione, vedere Tipi di isolamento.For details on how to set this up, see Types of Isolation.

Gli archivi isolati ottenuti da assembly diversi sono, per impostazione predefinita, archivi diversi.Isolated stores obtained from within different assemblies are, by default, different stores. È possibile accedere all'archivio di un dominio o un assembly diverso passando l'evidenza del dominio o dell'assembly nei parametri del metodo GetStore.You can access the store of a different assembly or domain by passing in the assembly or domain evidence in the parameters of the GetStore method. È necessaria l'autorizzazione per accedere allo spazio di memorizzazione isolato tramite l'identità del dominio dell'applicazione.This requires permission to access isolated storage by application domain identity. Per altre informazioni, vedere gli overload del metodo GetStore.For more information, see the GetStore method overloads.

I metodi GetUserStoreForAssembly, GetUserStoreForDomain e GetStore restituiscono un oggetto IsolatedStorageFile.The GetUserStoreForAssembly, GetUserStoreForDomain, and GetStore methods return an IsolatedStorageFile object. Per scegliere il tipo di isolamento più adatto alle proprie esigenze, vedere Tipi di isolamento.To help you decide which isolation type is most appropriate for your situation, see Types of Isolation. Quando si ha un oggetto file dello spazio di memorizzazione isolato, è possibile usare i metodi dello spazio di memorizzazione isolato per leggere, scrivere, creare ed eliminare file e directory.When you have an isolated storage file object, you can use the isolated storage methods to read, write, create, and delete files and directories.

Non c'è un meccanismo che impedisce di passare un oggetto IsolatedStorageFile a codice che non ha autorizzazioni di accesso sufficienti per ottenere l'archivio.There is no mechanism that prevents code from passing an IsolatedStorageFile object to code that does not have sufficient access to get the store itself. Le identità di dominio e assembly e le autorizzazioni dello spazio di memorizzazione isolato vengono controllate solo quando viene ottenuto un riferimento a un oggetto IsolatedStorage, in genere nel metodo GetUserStoreForAssembly, GetUserStoreForDomain o GetStore.Domain and assembly identities and isolated storage permissions are checked only when a reference to an IsolatedStorage object is obtained, typically in the GetUserStoreForAssembly, GetUserStoreForDomain, or GetStore method. Proteggere i riferimenti agli oggetti IsolatedStorageFile è quindi responsabilità del codice che usa tali riferimenti.Protecting references to IsolatedStorageFile objects is, therefore, the responsibility of the code that uses these references.

EsempioExample

Il codice seguente fornisce un semplice esempio di classe che ottiene un archivio isolato in base a utente e assembly.The following code provides a simple example of a class obtaining a store that is isolated by user and assembly. È possibile modificare il codice per recuperare un archivio isolato in base a utente, dominio e assembly aggiungendo IsolatedStorageScope.Domain agli argomenti passati dal metodo GetStore.The code can be changed to retrieve a store that is isolated by user, domain, and assembly by adding IsolatedStorageScope.Domain to the arguments that the GetStore method passes.

Dopo avere eseguito il codice, è possibile verificare che l'archivio sia stato creato digitando StoreAdm /LIST nella riga di comando.After you run the code, you can confirm that a store was created by typing StoreAdm /LIST at the command line. In questo modo, viene eseguito lo strumento Storeadm.exe (strumento per lo spazio di memorizzazione isolato) e vengono elencati tutti gli archivi isolati correnti per l'utente.This runs the Isolated Storage tool (Storeadm.exe) and lists all the current isolated stores for the user.

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
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

Vedere ancheSee Also

IsolatedStorageFile
IsolatedStorageScope
Spazio di memorizzazione isolatoIsolated Storage
Tipi di isolamentoTypes of Isolation
Assembly in Common Language RuntimeAssemblies in the Common Language Runtime