Ce code fonctionne bien lorsque je ne simule pas de coupure du serveur. Lorsque je simule une coupure, l'exception ce declanche et à l'appel du prochain upload (apres avoir remis le serveur FTP) il n'y a toujours pas de probleme. Je simule une deuxieme coupure et relance la methode (toujours apres avoir remis le serveur FTP) et la , l'application ce bloque a l'instrution "Stream strm = reqFTP.GetRequestStream();". Je ne peux plus recevoir d'info du serveur FTP.
Le bloquage apparait toujours apres la deuxieme coupure.
cs_niky
Messages postés168Date d'inscriptionjeudi 28 juin 2001StatutMembreDernière intervention18 octobre 20087 28 oct. 2007 à 16:39
Salut,
C'est peut être con ce que je vais dire mais au cours de tes deux "plantages", tu dois probablement garder une connexion ouverte à chaque fois.
Si à la suite de fs.Close tu fais reqFTP.Dispose ou reqFTP.Close (il doit y avoir au moins l'un des deux), tu auras du coup fermé tes connexions.
Si je dis ça c'est parce que, par défaut, le framework .Net limite le nombre de connexion à 2.
cs_niky
Messages postés168Date d'inscriptionjeudi 28 juin 2001StatutMembreDernière intervention18 octobre 20087 29 oct. 2007 à 15:11
Toutes mes excuses, ça n'existe effectivement pas !
Par contre, quand une exception se produit, tu ne fermes pas strm. Le fermer revient à faire ce que je proposais précédemment mais c'est strm qu'il faut fermer et pas reqFTP. Sorry...
fdouieb
Messages postés264Date d'inscriptionvendredi 12 décembre 2003StatutMembreDernière intervention12 juin 20133 29 oct. 2007 à 16:12
tu ne peux pas fermer strm car c'est une variable locale du try et donc pas reconnu dans le catch.
Cependant, j'ai deplacé la variable de facon a ce qu'elle soit globale pour le try et le catch.
Au moment ou je fais strm.close() ou strm.Dispose() dans le catch, l'appli plante.
Vous n’avez pas trouvé la réponse que vous recherchez ?
halastorn
Messages postés2Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention 3 janvier 2008 3 janv. 2008 à 04:30
salut j'ai un probleme avec le GetRequestStream() j'obtient ceci
Le serveur distant a retourné une erreur : (550) Fichier non disponible (par exemple, fichier introuvable, accès impossible).
Merci de m'aider