juillet
2008
Dans cette nouvelle astuce nous allons voir comment utliser l’IsolatedStorage en Silverlight.
L’Isolated Storage est un système de fichier virtuel mis à notre disposition pour stocker les données de nos applications Silverlight. Sa taille initiale est de 1Mo.
Voici une classe pour utiliser l’Isolated Storage en Silverlight 2 (tout n’est pas présent).
public static class IsolatedStorageHelper
{
public static void CreateDirectory(string path)
{
using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
{
if (storage.DirectoryExists(path) == false) storage.CreateDirectory(path);
}
}public static void DeleteDirectory(string path)
{
using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
{
if (storage.DirectoryExists(path) == true) storage.DeleteDirectory(path);
else throw new DirectoryNotFoundException(path);
}
}public static string[] ListDirectories(string pattern)
{
using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
{
if (pattern != null) return storage.GetDirectoryNames(pattern);
else return storage.GetDirectoryNames();
}
}public static string[] ListFiles(string pattern)
{
using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
{
if (pattern != null) return storage.GetFileNames(pattern);
else return storage.GetFileNames();
}
}public static void SaveData(string path, string data)
{
using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
{
using (StreamWriter sw = new StreamWriter(storage.OpenFile(path, FileMode.Append, FileAccess.Write)))
{
sw.Write(data);
sw.Close();
}
}
}public static string LoadData(string path)
{
using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
{
if (storage.FileExists(path))
{
using (StreamReader sw = new StreamReader(storage.OpenFile(path, FileMode.Open, FileAccess.Read)))
{
return sw.ReadToEnd();
}
}
else throw new FileNotFoundException(path);
}
}public static void DeleteFile(string path)
{
using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
{
if (storage.FileExists(path)) storage.DeleteFile(path);
else throw new FileNotFoundException(path);
}
}
}
Avant chaque action on récupère notre Isolated Storage
IsolatedStorageFile.GetUserStoreForApplication()
Et ensuite on peut travailler dessus (créer des fichiers, des répertoires, les supprimer, les lister, écrire dedans…).
Remarque : On peut visualiser les différentes applications qui utilisent l’Isolated Storage en faisant un clic droit sur un contrôle Silverlight, puis Silverlight Configuration et enfin dans l’onglet Application Storage.
A noter qu’on peut désactiver l’Isolated Storage en décochant la case.