#28 - Isolated Storage in Silverlight 2.0
di Daniele Bochicchio, in Silverlight 2.0, 20 novembre 2008
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.
Approfondimenti
Moonlight 2.0 Preview: Silverlight per Linux
Documentazione offline per Silverlight 2.0 RC0
#39 - Visualizzare messaggi di errore estesi in ADO.NET Data Services
Deepzoom in Silverlight 2.0
Modificare il controllo TreeView
Multithreading in Silverlight 2.0
#22 - Multithreading in Silverlight 2.0: operazioni asincrone in background
Silverlight 3 parola di Scott
ADO.NET Data Services Silverlight 2 Beta2 Client library Refresh
Lancio ufficiale di Moonlight 1.0
#30 - Recuperare valori passati in querystring
#19 - Maschere sfumate in Silverlight con OpacityMask e ImageBrush
Commenti
Se hai letto questo script, indica una preferenza sui suoi contenuti:
Per procedere devi essere autenticato.






















Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.