Isolated Storage è una funzionalità ben nota a chi lavora con le WinForms, perchè permette di conservare informazioni legate all'applicazione in maniera molto semplice e con un approccio uniforme.
Nell'ottica di applicazioni Silverlight l'uso di Isolated Storage, che è sul client, consente di accedere in maniera sicura ad uno store in cui poter salvare informazioni, come anche interi file, per consentire un miglior uso delle risorse locali ed evitare continue richieste online.
A partire dalla RTM di Silverlight 2.0, lo spazio iniziale concesso ad ogni dominio è di 1 MB.
Nel caso di piccole informazioni, come uno username o una stringa, si può utilizzare la classe IsolatedStorageSetting, che espone due collezioni di nome ApplicationSettings e SiteSettings.
ApplicationsSettings è specificare per il file .xap, mentre SiteSettings per il dominio:
string username = IsolatedStorageSettings.ApplicationSettings["username"] as string; IsolatedStorageSettings.ApplicationSettings["username"] = "daniele";
Il codice necessario al salvataggio di un file all'interno dello store è peraltro molto semplice, utilizzando la normale classe StreamWriter presente anche nel .NET Framework:
using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream s = new IsolatedStorageFileStream("Info.xml", FileMode.Create, store)) { using (StreamWriter writer = new StreamWriter(s)) { writer.Write(xml); } } }
In caso di lettura è invece necessario utilizzare la classe StreamReader:
using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream s = new IsolatedStorageFileStream("Info.xml", FileMode.Open, store)) { using (StreamReader reader = new StreamReader(s)) { xml = reader.ReadAll(); } } }
E' opportuno sottolineare che è meglio non tenere all'interno di Isolated Storage informazioni di tipo sensibile, perchè questi dati sono salvati all'interno del disco del computer dell'utente e potrebbero pertanto essere manipolati.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Eseguire una chiamata AJAX per inviare dati al server in Angular 2
- Formati per l'impostazione del colore in CSS3
- la Call For Papert per #netconfit è aperta!invia la tua sessione da https://aspit.co/netconfit-20 puoi parlare di #net5, #aspnet5, #efcore5, #CSharp9 e tutto quello che ruota intorno a #dotnet.
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Impostare un riferimento ad una entity collegata tramite foreign key