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

Dotnet Discussion :

Arrete si trop long


Sujet :

Dotnet

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 29
    Points : 16
    Points
    16
    Par défaut Arrete si trop long
    Bonjour,

    Je suis débutant et cherche comment stopper une recherche d'IP.

    En gros, je lance une recherche d'IP et, si ça ne répond pas, ça dur très longtemps avant de dire que c'est pas bon.
    J'aimerai arrêté l'instruction si ça dure plus de X secondes (2 ou 3 secondes, je sais pas bien encore).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Try
                    Dim iphe As IPHostEntry = Dns.GetHostEntry(NOMPOSTE)
                        MsgBox(iphe.AddressList(0).ToString())
     
                    Catch ex As Exception
                        MsgBox(ex)
     End Try

  2. #2
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Avril 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Avril 2003
    Messages : 79
    Points : 107
    Points
    107
    Par défaut
    Bonjour,

    Je ne penses pas qu'il soit possible de stopper l'appel à GetHostEntry

    Par contre si ton problème est que ton programme est bloqué tant que GetHostEntry n'a pas répondu, alors il te faut faire un appel asynchrone à l'aide de GetHostEntryAsync. Ainsi la recherche se fait en arrière plan et ne te bloque pas.

    Tu peux t'inspirer de ce code :

    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
    25
    26
    27
    28
     
            private async void ButtonSearchHostAsync_OnClick(object sender, EventArgs e)
            {
                ButtonOldPatternInteractionAsync.IsEnabled = false;
     
                TextBoxOldPatternInteractionResults.Text = string.Join(", ", (await GetHostEntryAsync("www.google.com")).AddressList.ToList());
     
                ButtonOldPatternInteractionAsync.IsEnabled = true;
            }
     
            public static Task<IPHostEntry> GetHostEntryAsync(string hostNameOrAddress)
            {
                var taskCompletionSource = new TaskCompletionSource<IPHostEntry>();
                Dns.BeginGetHostEntry(hostNameOrAddress, (asyncResult) =>
                    {
                        try
                        {
                            IPHostEntry result = Dns.EndGetHostEntry(asyncResult);
                            taskCompletionSource.SetResult(result);
                        }
                        catch (Exception e)
                        {
                            taskCompletionSource.SetException(e);
                        }
                    }, null);
     
                return taskCompletionSource.Task;
            }

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Points : 78
    Points
    78
    Par défaut
    Bonjour,

    J'ai trouvé quelque chose qui pourrait correspondre à ce que tu cherches à faire :

    http://stackoverflow.com/a/10419304

Discussions similaires

  1. Arreter les requêtes ayant un temps d'exécution trop long
    Par shaftJackson dans le forum PL/SQL
    Réponses: 1
    Dernier message: 24/02/2010, 15h13
  2. Arrêter un calcul trop long
    Par maxdef dans le forum MATLAB
    Réponses: 2
    Dernier message: 29/06/2007, 13h35
  3. Chargement de page trop long
    Par t_o_7_ dans le forum ASP
    Réponses: 2
    Dernier message: 19/09/2003, 18h58
  4. [TComboBox] Contenu trop long pour la zone d'affichage
    Par bebeours dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/09/2003, 16h21
  5. Arrêter un prog si temps de connexion trop long
    Par jakouz dans le forum Langage
    Réponses: 4
    Dernier message: 22/10/2002, 18h28

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