Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Un archivio espone un file system virtuale all'interno di un contesto dati. IsolatedStorageFile dispone di diversi metodi per interagire con un archivio. Per creare e recuperare archivi, IsolatedStorageFile fornisce tre metodi statici. La chiamata ai metodi GetUserStoreForAssembly o GetUserStoreForDomain restituisce uno spazio di memorizzazione isolato rispettivamente da utente e assembly e da utente, 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
isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain, Nothing, Nothing)
GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly | IsolatedStorageScope.Domain, null, null);
Per specificare che un archivio deve effettuare il roaming con un profilo di utente roaming, è possibile utilizzare il metodo GetStore. 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 di una chiamata 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. Per ulteriori informazioni sugli assembly, vedere Assembly.
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 vi sono 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 all'utente, al dominio e all'assembly. A tal fine, è sufficiente aggiungere IsolatedStorageScope.Domain agli argomenti del metodo GetStore.
Una volta eseguito il codice, è possibile verificare che l'archivio sia stato creato digitando StoreAdm /LIST sulla 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 Module modmain
Sub Main()
' Dimension a new IsolatedStorageFile.
Dim isoStore As IsolatedStorageFile
' Set the IsolatedStorageFile to a store isolated by user and
' assembly.
isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or IsolatedStorageScope.Assembly, Nothing, Nothing)
End Sub
End Module
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);
}
}