(re) test de connexion FTP impossible [Résolu]

Messages postés
104
Date d'inscription
mardi 14 avril 2009
Statut
Membre
Dernière intervention
7 avril 2019
-
Bonjour,
et bonne année à tous/toutes,

J'écris actuellement un petit code et suis gênée par le test de connexion.
Je m'explique.
Je lance un test de connexion par un bouton, lorsque j'appuie sur le bouton un test FTP doit se faire.

Voici la fonction :


private bool testconnection(string url, string user, string password)
        {
            try

            {
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url);
                request.Method = WebRequestMethods.Ftp.ListDirectory;
                request.Credentials = new NetworkCredential(user, password);
                request.GetResponse();
                
            }
            catch (WebException ex)
            {
                return false;
            }
            return true;
        }


Avec le même couple login/password sur la même adresse FTP, un coup ça fonctionne puis pas (reste bloqué à "request.GetResponse();")

Test 1 :
Je lance l'appli.
Je lance le test avec serveur FTP éteint, il en ressort false. Parfait.
J'active le serveur FTP, je lance le test, ça reste bloqué en "request.GetResponse();").

Test 2 :
Je lance l'appli.
J'active le serveur FTP, je lance le test, la connexion se fait bien. Parfait.
Je relance le test, serveur FTP toujours actif, ça reste bloqué en "request.GetResponse();").

Merci de votre aide.
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
13832
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 octobre 2019
311
1
Merci
Bonjour

je n'ai jamais fais de FTP, donc n'est pas la réponse à ta question, mais au cas où quelqu'un l'ait (on n'est malheureusement peu nombreux à répondre en C#...) , peux tu préciser quand tu dis
reste bloqué à "request.GetResponse();"
ça attend la réponse indéfiniment sans générer d'erreur particulière?
N'y a t il pas un timeout à définir?


PS: voir ici comment bien utiliser la coloration syntaxique https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Whismeril
Messages postés
14566
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
17 octobre 2019
136
1
Merci
Question, fermes-tu correctement la connexion ?
Car si tu ne le fait pas, il est possible que la connexion reste ouverte (jusqu'au passage du Garbage Collector) et comme certains fournisseurs bloquent les connexion multiples, cela peut te poser problème.

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

babaOrhumette
Messages postés
104
Date d'inscription
mardi 14 avril 2009
Statut
Membre
Dernière intervention
7 avril 2019
1 -
Bonjour et merci de ton aide NHenry,
Euh non je ne ferme pas la connexion, comment faire ?
Whismeril
Messages postés
13832
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 octobre 2019
311 -
babaOrhumette
Messages postés
104
Date d'inscription
mardi 14 avril 2009
Statut
Membre
Dernière intervention
7 avril 2019
1 -
Merci pour le lien, ça fonctionne !
Voici le code utilisé :

private bool testconnection(string url, string user, string password)
        {
            try

            {
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url);
                request.Method = WebRequestMethods.Ftp.ListDirectory;
                request.Credentials = new NetworkCredential(user, password);
                request.GetResponse();
                request.Abort();
                
            }
            catch (WebException ex)
            {
                return false;
            }
            return true;
        }


Merci beaucoup à vous 2.
Whismeril
Messages postés
13832
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 octobre 2019
311 -
Pense à passer le sujet résolu, avec la roue dentée tout en haut du fil.
Commenter la réponse de NHenry
Messages postés
104
Date d'inscription
mardi 14 avril 2009
Statut
Membre
Dernière intervention
7 avril 2019
1
0
Merci
Merci de votre aide Whismeril,

Il y a un timeout lors du premier test de connexion mais pas au second.
J'ai refait le Test 2 pour être certains :
Je lance l'appli.
J'active le serveur FTP, je lance le test, la connexion se fait bien. Parfait.
Je relance le test, serveur FTP toujours actif, ça reste bloqué en "request.GetResponse();") plusieurs minutes.
Commenter la réponse de babaOrhumette
Messages postés
13832
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 octobre 2019
311
0
Merci
Navré, mais je ne eux rien de plus pour toi
Commenter la réponse de Whismeril