Bonjour , merci pour ta réponse.
J'ai avance dans mon problème. J'ai fait 2 generic handler, un qui s'occupe de recupurer un fichier et l'autre qui doit me renvoyer une List<String>.
Bon mon probleme, C'est que je récupère la Liste sérialise dans la méthode
c.DownloadStringCompleted += (sender, e) => liste = RecupereListSerialise(e);
Et le soucis, c'est que je veux attendre que ma liste soir remplis par cette methode avant d'aller plus loin (car je souhaite la retourner).
J;'ai parcouru internet et c'est pas la premiere fois qu'on pose cette question sur les forum francais et anglais, cependant je n'ai reussi avec aucune method. Je me perds dans les threads et avec un truc du genre
1 2
| static AutoResetEvent s_sync = new AutoResetEvent(false);
... |
ben sa avance pas et l'appli reste bloque.
Alors voici le code qui appel mon generic handler :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| public List<string> ListageDesRepertoires()
{
List<string> liste = null;
UriBuilder ub = new UriBuilder("http://localhost:58578/ListageRepertoire.ashx");
WebClient c = new WebClient();
c.DownloadStringCompleted += (sender, e) => liste = RecupereListSerialise(e);
c.DownloadStringAsync(ub.Uri);
// ICI je souhaite ATTENDRE QUE LA LISTE SOIT != NULL avant d'aller plus loin
return (liste);
}
private List<string> RecupereListSerialise(DownloadStringCompletedEventArgs e)
{
List<string> liste;
Serialisation serilisation = new Serialisation();
string ObjetSerialise = e.Result;
liste = serilisation.Deserialize<List<string>>(ObjetSerialise);
return (liste);
} |
SVP guidez moi !!
Partager