Partage
  • Partager sur Facebook
  • Partager sur Twitter

La connexion sous-jacente a été fermée

Sujet résolu
    6 février 2018 à 21:49:42

    Bonsoir,

    Dans mon application C# je fais plusieurs requêtes, et tout fonctionnait très bien, mais depuis quelques jours, seule la première fonctionne et je ne comprend pas comment c'est possible.

    Première:

    HttpWebRequestrequest = WebRequest.Create(addressOfFile) as HttpWebRequest;           
    request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
    varresponse = request.GetResponse() as HttpWebResponse;
    if (response.StatusCode == HttpStatusCode.OK)
    return true;
    else
    return false;


    Deuxième:

    WebResponsewResp;
    if (newId == true)
    uri = uri + "&newid=true";
    else
    uri = uri + "&newid=false";
    WebRequestwReq = WebRequest.Create(new Uri(uri));
    wResp = wReq.GetResponse();


    Si je les exécute dans cet ordre, la deuxième rentre dans le try catch (que j'ai pas affiché ici pour réduire le code) avec le message "La connexion sous-jacente a été fermée : La connexion a été interrompue de manière inattendue.".

    Si je remplace la première requête simplement par un

    return true;


    Alors les 2 requêtes fonctionnent, et j'ai le message "La connexion sous-jacente a été fermée : La connexion a été interrompue de manière inattendue." sur une troisième requête effectuée peu après.

    Donc j'en déduis que seule la première requête réussit, et ça se voit aussi dans les logs des requêtes du site, seule la première requête l'atteint. Et je ne comprend vraiment pas comment c'est possible ...

    Savez vous comment m'aider ?

    WebClientclient = new WebClient();
    WebClientclient2 = new WebClient();
    WebClientclient3 = new WebClient();
    string codeHtml = client.DownloadString(addressOfFile);
    string codeHtml2 = client2.DownloadString(addressOfFile);
    string codeHtml3 = client3.DownloadString(addressOfFile);


    Ici ça me le fait au niveau de
    string codeHtml2 = client2.DownloadString(addressOfFile);


    Du coup il y a vraiment un problème au niveau des requêtes qu'importe la méthode utilisée ...

    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      7 février 2018 à 11:11:45

      Utilisez un reverse-proxy comme Fiddler2 pour voir coté client où ça part en sucette et comment.
      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        7 février 2018 à 11:22:15

        ça pourrait pas être une histoire de Dispose, y'a tellement de trucs disposables dans ce code, on dirait le même genre de souci qu'avec plusieurs Stream ; bon après c'est qu'une hypothèse.

        Sinon ça a un intérêt 3 webClient au lieu d'un seul qu'ont utilise 3 fois ?

        • Partager sur Facebook
        • Partager sur Twitter
        Censément, quelqu'un de sensé est censé s'exprimer sensément.
          7 février 2018 à 15:33:10

          Bonjour,

          Pour les 3 webclients c'était pour tester une requête différente des 2 premières.

          J'ai testé mon code entier à l'identique, mais en faisant communiquer le logiciel avec un site chez un autre hébergeur, et ça fonctionne ...
          • Partager sur Facebook
          • Partager sur Twitter
            7 février 2018 à 16:10:56

            Utilisez un reverse-proxy comme Fiddler2 pour voir coté client où ça part en sucette et comment.(BIS)

            Et vous pouvez comparer les deux flux.

            • Partager sur Facebook
            • Partager sur Twitter
            Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
              1 avril 2018 à 23:49:41

              Oups j'avais oublié cette discussion.

              Si quelqu'un a ce problème un jour, vérifiez que ce n'est pas le serveur avec lequel communique le logiciel qui coupe la connexion à cause d'un excès de zèle.
              • Partager sur Facebook
              • Partager sur Twitter

              La connexion sous-jacente a été fermée

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown