Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Benjamin Roux

Silverlight Expert - Silverlight Fan - MVP Client App Dev

Actualités

  • Mon statut Live Messenger :





    View Benjamin Roux's profile on LinkedIn

    Benjamin Roux's Facebook Profile


    MVP Blog Badge.
[Silverlight] Astuce du jour #03 - Utiliser l'Isolated Storage

silverlight 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.

isolated

A noter qu'on peut désactiver l'Isolated Storage en décochant la case.

C’est terminé pour cette astuce.

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: vendredi 20 février 2009 16:02 par broux
Classé sous : , ,

Commentaires

nk54 a dit :

Connais tu des sources, ou as tu fais un tuto, billet où il y a des exemples d'utilisation de cette classe ?

Merci ! (et sont super tes billets :D)

# juillet 7, 2009 11:44
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [Conf’SharePoint] Dernier rappel ! :-) par Le blog de Patrick [MVP SharePoint] le il y a 38 minutes

- [ #SharePoint 2013 ] les modèles de sites standards… par Le blog de Patrick [MVP SharePoint] le il y a 44 minutes

- 10 erreurs de compréhension concernant SharePoint… par Le blog de Patrick [MVP SharePoint] le il y a 1 heure et 20 minutes

- Conf’SharePoint : 10 bonnes raisons pour ne pas la rater par Le petit blog de Pierre / Pierre's little blog le 05-14-2013, 02:24

- [Event] Soirée de lancement Agile .NET France à Lyon par Blog Agile/ALM de Vincent THAVONEKHAM le 05-13-2013, 01:29

- .NET / Debug : inspection de la mémoire d'applications .NET (dump ou processus live) : première livraison d'une librairie .NET par Microsoft par CoqBlog le 05-11-2013, 22:21

- SharePoint : Incompatibilité avec Internet Explorer 10 (IE10) par Blog Technique de Romelard Fabrice le 05-08-2013, 16:29

- AutoSPInstaller pour SharePoint 2013 maintenant disponible en “RTM” par Julien Chable le 05-06-2013, 23:30

- [TFS2010] A la recherche du Shelveset perdu par Blog de Jérémy Jeanson le 05-03-2013, 21:46

- .NET / Debug post-mortem : obtenir le fichier mscordacwks.dll correspondant à un dump quand on n'a plus d'accès direct à ce fichier par CoqBlog le 04-28-2013, 19:57