IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[C#] timeout HttpWebRequest


Sujet :

C#

  1. #1
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut [C#] timeout HttpWebRequest
    Bonjour,

    Je code une application console en C# qui dans une boucle contacte une page Web en lui passant des paramètres POST. Au premier tour de boucle tout fonctionne parfaitement mais dès le deuxième la méthode GetRequestStream() (qui récupère les données contenues dans la requête) génère une erreur de timeout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    while( i >= 0 && (i < i2 || i2 < 0) ) 
    						{
     
    							HttpWebRequest HttpWReq2 = (HttpWebRequest)WebRequest.Create("http://titi/toto.asp");
    							//HttpWReq2.KeepAlive = false;
    							HttpWReq2.Method = "POST";
    							HttpWReq2.ContentType = STR_CONTENT_TYPE;
    							encoding = new System.Text.ASCIIEncoding();
    							string postData2 = "numgec=" + numgec;
    							byte[] byte1 = encoding.GetBytes(postData2);
    							HttpWReq2.ContentLength = postData2.Length;
    							Stream newStream = HttpWReq2.GetRequestStream(); // <===== plantage ici
     
    							newStream.Write(byte1,0,byte1.Length);
    							Console.WriteLine(newStream.ToString() + " "+ HttpWReq2.Address + " " + HttpWReq2.ContentLength);
    							HttpWebResponse HttpWResp2 = (HttpWebResponse)HttpWReq2.GetResponse();
    							enc = System.Text.Encoding.GetEncoding(1252);
    							loResponseStream = new StreamReader(HttpWResp2.GetResponseStream(), enc);
    							string s2 = loResponseStream.ReadToEnd();
    							loResponseStream.Close();
    							HttpWResp2.Close();
     
    [...]
    }
    Quelqu'un aurait-il une idée de la cause du problème ? J'ai lu quelque part qu'il fallait éviter le KeepAlive=false mais le retirer ne change rien à l'affaire...

  2. #2
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Bon, c'est une boulette de ma part, j'avais oublié de faire un newStream.Close(); pour fermer le flux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Timeout bizarre avec httpwebrequest
    Par DJEpo dans le forum Réseau
    Réponses: 2
    Dernier message: 23/06/2013, 18h46
  2. HttpWebRequest POST et timeout
    Par dharkan dans le forum C#
    Réponses: 2
    Dernier message: 14/05/2013, 12h26
  3. [TOMCAT] Problème de timeout d'une servlet
    Par tuxor dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 18/09/2007, 12h04
  4. [Sockets] Timeout sur accept() ?
    Par MikB dans le forum Développement
    Réponses: 2
    Dernier message: 30/12/2003, 17h22
  5. Ftp login & Timeout
    Par MSP dans le forum Modules
    Réponses: 6
    Dernier message: 29/08/2003, 12h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo