WebClient OpenRead Time out

Signaler
Messages postés
73
Date d'inscription
mardi 15 mars 2005
Statut
Membre
Dernière intervention
18 novembre 2010
-
Messages postés
10
Date d'inscription
samedi 20 novembre 2010
Statut
Membre
Dernière intervention
5 septembre 2013
-
Bonjour à tous,

En faisant un test avec WebClient, je suis tombé sur un comportement très étrange.
Pour cela, il vous suffit de tester le code suivant.
Je vous laisse créer un projet winform par exemple et dans la méthode clic d'un bouton appeler cette méthode.
Lors du premier clic tout ce passe très bien, l'image est récupérée et écrite sur le disque.
Si je relance cette méthode sans fermer l'application, la méthode OpenReader pour la récupération de l'image bloque et lance une exception de timeout.
Très étrange... Si vous avez une idée, je suis preneur de la solution.

Merci à tous ;)

private void getGoogle()
{
string CheminSauvegardeDesImages = @"D:";

WebClient wc;

const string urlPage = "http://www.google.fr/";
const string urllogo = "http://www.google.fr/images/logos/ps_logo2.png";

wc = new WebClient();
wc.UseDefaultCredentials = true;

wc.OpenRead(urlPage);

System.IO.Stream s = wc.OpenRead(urllogo);
System.Drawing.Image image = System.Drawing.Image.FromStream(s);
s.Close();
s = null;

image.Save(CheminSauvegardeDesImages + @"" + DateTime.Now.Ticks.ToString() + ".tiff", System.Drawing.Imaging.ImageFormat.Tiff);
}


Keikun59

1 réponse

Messages postés
10
Date d'inscription
samedi 20 novembre 2010
Statut
Membre
Dernière intervention
5 septembre 2013

Hello,

Je dirais un problème de flux à première vue...
wc.OpenRead(urlPage); ne sert à rien dans ce cas-ci et le supprimer fait disparaitre le problème.

Maintenant pour l'explication exacte je laisse le soin à des personnes plus qualifiées :p

Bien à toi,
DouGyyy.