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

Messages postés
100
Date d'inscription
mardi 14 avril 2009
Dernière intervention
13 janvier 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 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
12945
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 mars 2019
350
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

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

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

Commenter la réponse de Whismeril
Messages postés
14404
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 mars 2019
154
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

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

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

babaOrhumette
Messages postés
100
Date d'inscription
mardi 14 avril 2009
Dernière intervention
13 janvier 2019
-
Bonjour et merci de ton aide NHenry,
Euh non je ne ferme pas la connexion, comment faire ?
Whismeril
Messages postés
12945
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 mars 2019
350 -
babaOrhumette
Messages postés
100
Date d'inscription
mardi 14 avril 2009
Dernière intervention
13 janvier 2019
-
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
12945
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 mars 2019
350 -
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
100
Date d'inscription
mardi 14 avril 2009
Dernière intervention
13 janvier 2019
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
12945
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 mars 2019
350
0
Merci
Navré, mais je ne eux rien de plus pour toi
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.