Introduzione all'archiviazione isolata
Quando un'applicazione memorizza dati in un file, il nome del file e il percorso di archiviazione devono essere scelti attentamente, per ridurre la possibilità che il percorso di archiviazione venga individuato da un'altra applicazione e sia quindi soggetto a danneggiamenti. Senza un sistema standard in grado di gestire questi problemi, può risultare complesso sviluppare tecniche specifiche che riducano i conflitti di archiviazione e i risultati conseguiti potrebbero non essere affidabili.
Con l'archiviazione isolata i dati vengono sempre isolati in base all'utente o all'assembly. L'identità dell'assembly viene determinata da credenziali quali l'origine o il nome sicuro. I dati possono essere isolati anche in base al dominio applicazione, utilizzando credenziali analoghe.
Quando si utilizza l'archiviazione isolata, le applicazioni salvano i dati in un contesto dati univoco, associato ad alcuni aspetti dell'identità del codice, quali il sito Web, l'editore o la firma. Il contesto dati è un'astrazione, non è un percorso di archiviazione specifico. È costituito da uno o più file di archiviazione isolata, denominati archivi, contenenti i percorsi di directory in cui sono effettivamente memorizzati i dati. A un'applicazione Web, ad esempio, può essere associato un contesto dati, mentre una directory del file system implementa l'archivio in cui sono effettivamente conservati i dati dell'applicazione. Nell'archivio è possibile salvare qualsiasi tipo di dati, dalle preferenze utente allo stato dell'applicazione. Il percorso del contesto dati è trasparente allo sviluppatore. Gli archivi solitamente risiedono sul client, ma un'applicazione server può utilizzare archivi isolati per memorizzare informazioni impersonando l'utente che la utilizza. Tramite l'archiviazione isolata è inoltre possibile memorizzare informazioni su un server con un profilo utente comune, in modo che sia possibile spostare le informazioni insieme all'utente.
Gli amministratori possono limitare lo spazio di archiviazione isolata a disposizione di un'applicazione o di un utente, in base a un appropriato livello di attendibilità. Gli amministratori possono inoltre rimuovere tutti i dati persistenti di un utente. Perché il codice possa creare o accedere a un'archiviazione isolata, è necessario che disponga dell'appropriata IsolatedStorageFilePermission.
Per accedere all'archiviazione isolata, il codice deve disporre di tutti i diritti nativi del sistema operativo della piattaforma. In Windows 2000 è ad esempio necessario soddisfare gli elenchi di controllo di accesso (ACL, Access Control List) che determinano quali utenti dispongono dei diritti per l'utilizzo del file system. Le applicazioni Microsoft .NET Framework dispongono già dei diritti del sistema operativo per accedere all'archiviazione isolata, a meno che non eseguano la rappresentazione (specifica della piattaforma). In questo caso l'applicazione deve verificare che l'identità dell'utente impersonato disponga di appropriati diritti del sistema operativo per accedere all'archiviazione isolata. Tale tipo di accesso consente al codice che è in esecuzione o che viene scaricato dal Web di leggere e scrivere in un'area di archiviazione relativa a un particolare utente.
Talvolta risulta utile verificare una modifica nell'archiviazione isolata utilizzando il file system del sistema operativo. È possibile che gli sviluppatori debbano conoscere il percorso dei file di archiviazione isolata. Il percorso varia in base al sistema operativo. Nella tabella che segue vengono illustrati i percorsi principali in cui viene creata l'archiviazione isolata in alcuni sistemi operativi. Cercare la directory Microsoft\IsolatedStorage in questo percorso principale. Per visualizzare cartelle e file nascosti, in modo da poter individuare l'archiviazione isolata nel file system, è necessario modificare le impostazioni della cartella.
Sistema operativo | Percorso nel file system |
---|---|
Windows 98, Windows Me - profili utente non attivati |
Archivi abilitati per profili utente comuni = <SYSTEMROOT>\Application Data Archivi non abilitati per profili utente comuni = WINDOWS\Local Settings\Application Data |
Windows 98, Windows Me - profili utente non attivati |
Archivi abilitati per profili utente comuni = <SYSTEMROOT>\Profiles\<utente>\Application Data Archivi non abilitati per profili utente comuni = Windows\Windows\Local Settings\Application Data |
Windows NT 4.0 |
<SYSTEMROOT>\Profiles\<utente>\Application Data |
Windows NT 4.0 - Service Pack 4 |
Archivi abilitati per profili utente comuni = <SYSTEMROOT>\Profiles\<utente>\Application Data Archivi non abilitati per profili utente comuni = <SYSTEMROOT>\Profiles\<utente>\Local Settings\Application Data |
Windows 2000, Windows XP, Windows Server 2003 - aggiornamento da NT 4.0 |
Archivi abilitati per profili utente comuni = <SYSTEMROOT>\Profiles\<utente>\Application Data Archivi non abilitati per profili utente comuni = <SYSTEMROOT>\Profiles\<utente>\Local Settings\Application Data |
Windows 2000 - nuova installazione e aggiornamento da Windows 2000 e Windows 98 |
Archivi abilitati per profili utente comuni = <SYSTEMDRIVE>\Documents and Settings\<utente>\Application Data Archivi non abilitati per profili utente comuni = <SYSTEMDRIVE>\Documents and Settings\<utente>\Local Settings\Application Data |
Windows XP, Windows Server 2003 - nuova installazione e aggiornamento da Windows 2000 e Windows 98 |
Archivi abilitati per profili utente comuni = <SYSTEMDRIVE>\Documents and Settings\<utente>\Application Data Archivi non abilitati per profili utente comuni = <SYSTEMDRIVE>\Documents and Settings\<utente>\Local Settings\Application Data |
Vedere anche
Riferimenti
Altre risorse
Archiviazione isolata
Esecuzione di attività relative all'archiviazione isolata
I/O di file e di flussi