Isolamento in base all'utente, al dominio e all'assembly
Se un'applicazione utilizza un assembly di altri produttori che richiede un archivio dati privato, sarà possibile memorizzare i dati privati utilizzando l'archiviazione isolata. L'isolamento in base all'utente, al dominio e all'assembly garantisce che ai dati possa accedere solo il codice di un determinato assembly, solo quando l'assembly viene utilizzato dall'applicazione che era in esecuzione nel momento in cui l'assembly ha creato l'archivio e solo quando l'applicazione viene eseguita dall'utente per il quale l'archivio è stato creato. L'isolamento in base all'utente, al dominio e all'assembly impedisce che l'assembly passi i dati ad altre applicazioni. È opportuno scegliere questo tipo di isolamento se si desidera utilizzare l'archiviazione isolata, ma non si è sicuri del tipo di isolamento da utilizzare. Chiamando il metodo statico GetStore di IsolatedStorageFile e passando un utente, un dominio e un assembly, IsolatedStorageScope restituisce un'archiviazione con questo tipo di isolamento.
Nell'esempio di codice che segue viene recuperato un archivio isolato in base all'utente, al dominio e all'assembly. È possibile accedere all'archivio mediante l'oggetto isoFile.
Dim isoFile As IsolatedStorageFile = _
IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or _
IsolatedStorageScope.Domain Or _
IsolatedStorageScope.Assembly, Nothing, Nothing)
IsolatedStorageFile isoFile =
IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
IsolatedStorageScope.Domain |
IsolatedStorageScope.Assembly, null, null);
IsolatedStorageFile^ isoFile =
IsolatedStorageFile::GetStore(IsolatedStorageScope::User |
IsolatedStorageScope::Domain |
IsolatedStorageScope::Assembly, (Type^)nullptr, (Type^)nullptr);
Come alternativa rapida è disponibile un altro metodo, come illustrato nell'esempio di codice che segue. Questa alternativa non può essere utilizzata per aprire archivi che possono essere utilizzati come archivi comuni. In questi casi, utilizzare il metodo GetStore.
Dim isoFile As IsolatedStorageFile = _
IsolatedStorageFile.GetUserStoreForDomain()
IsolatedStorageFile isoFile = IsolatedStorageFile.GetUserStoreForDomain();
IsolatedStorageFile^ isoFile = IsolatedStorageFile::GetUserStoreForDomain();