#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
-
#66 - ListBox style per Silverlight 3.0
-
#52 - Evitare la cache dei file XAP in Silverlight 2.0
-
MetadataDiffViewer: differenze tra i framework
-
Anteprima di Expression Blend 3.0
-
web platform installer 2.0: installare in un colpo solo tutto quello che serve per sviluppare con #next e #silverlight http://u.aspitalia.com/a1
-
#43 - Drag-and-drop in Silverlight 2.0
-
#49 - HyperlinkButton Template animata in Silverlight 2.0
-
#68 - Accedere da codice alle risorse dell'applicazione con Silverlight 3.0
-
GDR2 per #silverlight3: fix a media e networking via @timheuer SDK aggiornato su http://u.aspitalia.com/ad
-
Costruire una chat per Silverlight con il PollingDuplexHttpBinding
-
Realizzare un menu riutilizzabile utilizzando DataTemplate e DataBinding
-
#65 - Specificare una proprietà come ContentProperty di un controllo Silverlight 3.0

















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