Grâce à async/await, l’écriture de code asynchrone devient un jeu d’enfant…à tel point que l’on oublie parfois d’y protéger l’accès aux ressources critiques. Ce genre d’oubli provoque des erreurs d’exécution totalement aléatoires dans les applications mais la bonne nouvelle c’est qu’il est très facile d’y remédier, surtout une fois que l’on a compris pourquoi
Un exemple typique dans les applications Windows 8 : l’accès aux fichiers. On les utilise à plus forte raison dans les applications Metro, par exemple pour : • le fichier servant de cache off-line • le fichier de sauvegarde du contexte courant de l’application • le fichier contenant les données applicatives • … Plusieurs clients m’ont remonté le fait que des exceptions sont déclenchées lors des écritures fichier, or le plus souvent, le problème provient de l’écriture du code asynchrone correspondant. Une démo vaut mieux que de longs discours, je vais donc illustrer ces propos pas à pas. D’abord, voyons le bout de code que je vais utiliser : un simple bouton dans l’appbar qui déclenche un accès fichier en écriture.
Stéphanie Hertrich