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
Uso dei design-time data nelle applicazioni della Universal Windows Platform
Effettuare il multibinding in un'applicazione Xamarin Forms
Personalizzare gli elementi del controllo SwipeView in Xamarin Forms
Creare un controllo Expander in un'app Xamarin Forms
Avviare una registrazione audio e video in una applicazione della Universal Windows Platform
Creare un effetto di ombra sui controlli della Universal Windows Platform
Modificare il layout della paginazione del controllo CarouselView in Xamarin Forms
Dark mode e selezione dei temi in un'applicazione Xamarin Forms
Modificare il behavior del controllo SwipeView in Xamarin Forms
Realizzare un effetto gradiente tramite composition API nella Universal Windows Platform
Winget: un nuovo package manager per Windows
Sviluppare applicazioni con supporto al doppio schermo con Xamarin
I più letti di oggi
- Specificare un constraint per TypeParam di un componente Blazor generico
- Creare un record in C#
- Learn&Get 'Applicazioni del mondo reale con ASP.NET 2.0' - Milano
- Codemotion 2012 - Roma
- Windows 10 Universal Platform Live - Online
- .NET Conference Italia - Milano
- Blazor Conference 2020 Live - Online
- Annunciata la modalità di uscita di ADO.NET Entity Framework e dei Data Services
- Disponibile la versione finale di Hyper-V: la virtualizzazione per Windows Server 2008