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...
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- C# e Net 6 in Kubernetes con Prometheus e Grafana, il 12 gennaio 2022 alle 21:58
- Snaturare Kubernetes evitando i custom container Docker, il 6 gennaio 2022 alle 19:40
- Provando Kaniko in Kubernetes come alternativa a Docker per la creazione di immagini, il 18 dicembre 2021 alle 20:11
- Divertissement con l'OpenID e Access Token, il 6 dicembre 2021 alle 20:05
- Operator per Kubernetes in C# e Net Core 6., il 28 novembre 2021 alle 19:44
- RBAC in Kubernetes verso gli operator, il 21 novembre 2021 alle 20:52