2013-10-03 5 views
2

J'essaie de comprendre comment je peux lire et écrire des paramètres stockés dans le stockage isolé des applications.Mise en cache de variables dans un stockage isolé, manière de la bibliothèque de classes portable

En ce moment im construire une application Windows Phone, mais depuis que je veux une application win8 à j'ai pensé que je pouvais le faire dans un projet de bibliothèque de classe portable, et j'ai trouvé ce génial PCLStorage.

Ma classe de cache ressemble atm comme celui-ci pour params stockage:

public async static Task<string> GetParam(string name) 
    { 
     IFolder rootfolder = FileSystem.Current.LocalStorage; 
     IFolder folder = await rootfolder.GetFolderAsync("isostore"); 
     IFile file = await folder.GetFileAsync(name); 

     return await file.ReadAllTextAsync(); 
    } 

    public async static void SaveParam(string name, string param) 
    { 
     IFolder rootfolder = FileSystem.Current.LocalStorage; 
     IFolder folder = await rootfolder.CreateFolderAsync("isostore", CreationCollisionOption.OpenIfExists); 
     IFile file = await folder.CreateFileAsync(name, CreationCollisionOption.ReplaceExisting); 

     await file.WriteAllTextAsync(param); 
    } 

La partie écriture est Okey, il remplace en cas de. C'est la partie lecture qui est le problème. IFile et IFolder n'ont pas de fonctions .Exists (???) alors que retourne-t-il si j'appelle Get before Save?

Répondre

1

Je pense que dans votre cas, dans la méthode GetParam, vous devriez appeler CreateFolderAsync et CreateFileAsync avec le paramètre CreationCollisionOption.OpenIfExists. Ensuite, vous ne devriez pas avoir à vous soucier de les créer séparément à l'avance ou d'attraper des exceptions qui existent/n'existent pas.

Questions connexes