Isolated Storage in .NET: classe IsolatedStorage

di Andrea Zani, in .NET,

Scrivere codice .net per windows forms per me è una rarità. Non perché non mi piaccia, ma interessi miei personali e forzati mi hanno tenuto sempre lontano dai dettagli più reconditi di questo ambito di programmazione .net spingendo tutta la mia attenzione sull'asp.net.

In questi giorni stavo giocando con un piccolo applicativo in .net - forse ne parlerò in un blog futuro - e mi sono trovato nella necessità di memorizzare dei dati in modo persistente che si potesse diversificare anche tra i diversi utenti del computer - così come avviene per programmi come Outlook.

Sicuro che ci fosse un modo per facilitare questo compito - ormai gli ingegneri Microsoft non mi stupiscono più per le facilitazioni che mettono a diposizione dei programmatori .net - sono andato nei meandri delle classi del Framework ed ho trovato quello che faveva per me: la classe IsolatedStorage. Questa classe non fa altro che creare una zona protetta dove memorizzare file e informazioni per quell'utente e/ assembly. Vediamo come implementare il tutto per la memorizzazione di semplici dati di una nostra applicazione Windows Forms.

Per scrivere un file in questa zona riservata:

dim iso as IsolatedStorageFile
iso=IsolatedStorageFile.GetStore( IsolatedStorageScope.User)

dim file as new IsolatedStorageFile("nome_file.txt", FileMode.Create, iso)
dim sw as new StreamWriter(file)
sw.WriteLine("Riga...")
sw.Close()
file.Close()

Per rileggere:

dim iso as IsolatedStorageFile
iso=IsolatedStorageFile.GetStore( IsolatedStorageScope.User)

dim file as new IsolatedStorageFile("nome_file.txt", FileMode.Open, iso)
dim sr as new StreamReader(file)
dim testo as string
testo=sr.ReadAll()
sr.Close()
file.Close()

E' possibile sapere anche quali file sono memorizzati in questa zona sicura:

dim iso as IsolatedStorageFile
iso=IsolatedStorageFile.GetStore( IsolatedStorageScope.User)
dim files() as string=iso.GetFileNames("*")

Nell'array di stringhe "files" saranno presenti tutti i file memorizzati.

Ritornado al discorso iniziale, nella dichiarazione iniziale della classe possiamo definire come identificare la zona protetta: possiamo farlo per utente, assembly e dominio:

dim iso as IsolatedStorageFile
iso=IsolatedStorageFile.GetStore( IsolatedStorageScope.User or IsolatedStorageScope.Assembly)</font />

Per dominio:

dim iso as IsolatedStorageFile
iso=IsolatedStorageFile.GetUserStoreForDomain

Che ci stiamo a fare in questa giorno di festa...

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese