formats

Executer une action suite à des appels WCF parallèles

Published on 01/05/2012, by in WinRT, XAML.

Récemment on m’as posé la question suivante :

« Comment je peux faire pour exécuter une action après que tout les appels WCF asynchrones se soient exécutés en Silverlight ? »

Ca tombe bien, j’avais une solution sous le coude que j’avais mis en place lors d’un précédent projet. Dans ce projet je devais charger une série de tables de références telles que Pays, Villes etc… Tout ces chargements s’effectuaient de manières asynchrones et étaient lancés en parallèles. Durant le temps de chargement, j’affichais un message indiquant que l’application était en cours de chargement et lorsque toutes les tables de références étaient chargées je faisait disparaitre ce message et rendais active l’application.

 

L’idée est simple, je vais créer une classe qui va se charger de lancer tout les appels WCF en parallèle. Cette classe prend en paramètre une callback qui sera invoquée lorsque tout les appels auront été terminés.

Pour savoir quand tout les retours ont eu lieu on va faire ça à l’ancienne. A chaque retour d’appels WCF je vais incrémenter un compteur. Lorsque ce compteur aura pour valeur le nombre total d’appels WCF que j’ai lancé j’appellerai la callback passée en paramètre. Simple non ?

Maintenant que le concept est posé passons à l’implémentation

Mon implémentation originale était en Silverlight et pas très générique. J’ai donc retravaillé un peu la chose et choisi de faire un exemple multi-plateforme Windows 8 Metro/Silverlight/WPF.

La suite sur mon blog.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Home WinRT Executer une action suite à des appels WCF parallèles

Switch to our mobile site