2010-01-29 4 views
1

J'utilise une URL tierce pour déterminer l'emplacement des visiteurs du site en fonction de l'adresse IP.Définir un délai d'expiration sur webClient.DownloadData?

J'utilise WebClient.DownloadData() pour obtenir l'information retournée par l'URL qui est une réponse d'un mot, par ex. Une fois que j'ai détecté dans quel pays l'utilisateur se trouve, je veux A) les conserver sur le site actuel et stocker le pays dans la session ou B) les rediriger vers un autre site de pays.

Ce qui m'inquiète, c'est que WebClient.DownloadData() soit suspendu, ce qui fait que l'utilisateur attend depuis longtemps et ne peut pas utiliser le site. J'avais pensé à utiliser DownloadDataAsync mais cela ne semble pas être une solution pour moi car je ne veux pas qu'ils fassent quoi que ce soit jusqu'à ce que je découvre le pays (voir aussi WebClient.DownloadDataAsync is freezing my UI)

Y at-il un moyen de le faire? définir un délai sur mon appel à WebClient.DOwnloadData par exemple si elle n'est pas revenue dans 2 secondes, abandonner?

+1

voir aussi http://stackoverflow.com/questions/601861/set-timeout-for-webclient-downloadfile/3052637#3052637 – wimh

Répondre

2

On dirait HttpWebRequest peut être la voie à suivre

Questions connexes