Condividi tramite


Procedura: recuperare archivi per lo spazio di memorizzazione isolato

Un archivio espone un file system virtuale all'interno di un raggruppamento dati. IsolatedStorageFile fornisce diversi metodi per l'interazione con un archivio. Per creare e recuperare archivi, IsolatedStorageFile fornisce tre metodi statici. La chiamata a GetUserStoreForAssembly restituisce uno spazio di memorizzazione isolato in base a utente e assembly. La chiamata a GetUserStoreForDomain restituisce uno spazio di memorizzazione isolato in base a dominio e assembly. Questi due metodi recuperano un archivio che appartiene al blocco di codice da cui vengono chiamati. Il metodo statico GetStore restituisce uno spazio di memorizzazione isolato che viene specificato tramite il passaggio di una combinazione di parametri di ambito. Il parametri riportati di seguito restituiscono un archivio isolato in base all'utente, al dominio e all'assembly.

Dim isoStore As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or
    IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain, Nothing, Nothing)
IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
    IsolatedStorageScope.Assembly | IsolatedStorageScope.Domain, null, null);
IsolatedStorageFile^ isoStore = IsolatedStorageFile::GetStore(IsolatedStorageScope::User |
    IsolatedStorageScope::Assembly | IsolatedStorageScope::Domain, (Type ^)nullptr, (Type ^)nullptr);

È possibile utilizzare il metodo GetStore per specificare che un archivio deve effettuare il roaming con un profilo di utente roaming. Per ulteriori informazioni, vedere Archiviazione isolata e roaming.

Per impostazione predefinita, gli archivi isolati ottenuti da assembly diversi sono archivi diversi. È possibile accedere all'archivio di un dominio o di un assembly diverso specificando un'evidenza di dominio o di assembly diversa negli ultimi due parametri del metodo GetStore. L'esecuzione di questa operazione richiede l'autorizzazione per accedere all'archiviazione isolata tramite l'identità del dominio applicazione. Per ulteriori informazioni, vedere il metodo GetStore.

Ciascuno di questi tre metodi restituisce un oggetto IsolatedStorageFile. Per individuare il tipo di isolamento più adatto alle proprie esigenze, vedere Tipi di isolamento. Una volta ottenuto un oggetto file di archiviazione isolata, è possibile utilizzare i metodi dell'archiviazione isolata per leggere, scrivere, creare ed eliminare file e directory di file.

Non esistono meccanismi che impediscono al codice di passare un IsolatedStorageFile a un codice che non dispone di autorizzazioni sufficienti a ottenere l'archivio autonomamente. Le identità di dominio e assembly e le autorizzazioni dello spazio di memorizzazione isolato vengono controllate solo quando si ottiene un riferimento a un oggetto IsolatedStorage, in genere tramite il metodo GetUserStoreForAssembly, GetUserStoreForDomain o GetStore. La protezione dei riferimenti agli oggetti IsolatedStorageFile è pertanto responsabilità del codice che utilizza tali riferimenti.

Esempio di utilizzo di ObtainingAStore

Il codice che segue è un esempio molto semplice di una classe che ottiene un archivio isolato in base all'utente e all'assembly. È possibile modificare il codice in modo da recuperare un archivio isolato in base a utente, dominio e assembly aggiungendo IsolatedStorageScope.Domain agli argomenti passati dal metodo GetStore.

Una volta eseguito il codice, è possibile verificare che l'archivio sia stato creato digitando StoreAdm /LIST nella riga di comando. In questo modo viene eseguito lo strumento di amministrazione Isolated Storage (Storeadm.exe) e vengono elencati tutti gli archivi isolati correnti dell'utente. Per ulteriori informazioni su Storeadm.exe, vedere lo strumento Isolated Storage.

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
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);
    }
}
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);
    }
};

Vedere anche

Riferimenti

IsolatedStorageFile

IsolatedStorageScope

Concetti

Spazio di memorizzazione isolato

Tipi di isolamento

Assembly in Common Language Runtime