Bonjour,
Environnement :
Je developpe une application Asp.Net(C#) sous win XP, sous visual studio 2003, en framework 1.1.
Application :
L’application est une application d’annuaire. Cette application invite l’utilisateur a saisir un certains nombres de paramètres (nom, prénom) et a choisir dans un menu déroulent une zone géographique (6 zones en tout), puis appelle un web service qui renvoie un tableau de personnes. Suivant la zone géographique choisi, le web service n’est pas le même. En fait dans le fond, il fait la même chose et possède les mêmes méthodes mais chaque région genre son propre web service donc les url ne sont pas les mêmes.
On voudrait, si la recherche pour la région choisie est infructueuse, proposer une recherche dans les 5 autres régions restantes. Dans un souci de gain de temps, on voudrait faire cela en multi threading, càd effectuer un appel de web service par thread.
Pour le moment, j’ai une fonction qui boucle sur les 5 autres régions, et une fonction Recherche qui a en paramètre l’url du web service et en sorti un tableau de personne.
Il faudrait donc que dans la boucle, j’implémente un thread qui appelle la fonction Recherche. Ainsi a chaque passage dans la boucle un nouveau thread est créé, appelant la méthode getPersonne(nom, prénom) du webservice.
Problème :
Je n’ai jamais fait de multi threading et je ne m’en sors pas vraiment avec la création des threads et l’appel par ceux-ci de la fonction de recherche. J’ai regarde la faq sur les threads en c# mais la façon de créer ce multithreading dans mon cas n’est vraiment pas clair pour moi.
Je voudrais trouver un exemple de cde faisant quelque chose de similaire, ou alors une description des différentes étapes et de la façon de récupérer le résultat renvoyé par la fonction Recherche.
Enfin, je dois pouvoir concaténer les résultats obtenus par mes 5 threads (et donc savoir quand les 5 sont terminés) pour pouvoir afficher la totalité des résultats dans un autre formulaire.
Partager