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

VB.NET Discussion :

[VB.NET] Timeout - Passer au suivant ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Par défaut [VB.NET] Timeout - Passer au suivant ?
    Bonjour !

    J'ai un petit problème de timeout et arrêt d'exécution d'une liste pour traitement.

    Ma listview = des liens

    Bref si la page web prend trop de temps à se télécharger(20 sec.) et bien j'ai une erreur "timeout". Et c'est correct, le problème se situe que lorsque j'ai ce timeout et bien je veux tout simplement passer à l'autre lien dans la liste. Pour l'instant le timeout arrête l'application.

    Je ne sais pas une condition pourrait faire l'affaire dans le style:
    "If timeout et bien revenir dans la boucle" <-- ce que je ne sais faire étant débutant.


    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
    29
    30
    31
    32
    For boucle = 0 To ListView1.Items.Count - 1
     
    Dim listname = ListView1.Items(boucle).SubItems(2).Text
     
    Dim search2 As New StreamReader(wclient.OpenRead(listname))
    Dim searcha2 As String = search2.ReadToEnd
     
    Dim testString1 As String
    Dim testString2 As String
     
    Dim expression As Regex = New Regex("comment"" value=""\b[^>]*""(.*?)")
    Dim string1 As String = searcha2
     
    For Each myMatch In expression.Matches(string1)
    List2.Add(myMatch.ToString())
     
     
    testString1 = Regex.Replace(myMatch.ToString, "comment"" value=""", "")
    testString2 = Regex.Replace(testString1, """", "")
    Dim teststring3 = testString2.ToString
     
    Dim TempStr(1) As String
    Dim TempNode As ListViewItem
     
     
    TempStr(1) = teststring3
    TempNode = New ListViewItem(TempStr)
     
    ListView1.Items(boucle).SubItems(1).Text = teststring3
     
    Refresh()
     Next
    Merci de votre aide !

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    wclient est un WebClient ? c'est sur le OpenRead que tu as cette erreur ?

    Tu peux intercepter l'erreur avec un bloc try/catch
    http://plasserre.developpez.com/v4-3.htm

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Par défaut
    Oui désole, wclient = webclient

    J'ai un try and catch mais cela n'empêche en rien la fin de la procédure à moins que je puisse y ajouter un "if" dans le catch pour qu'il retourne dans la boucle. possible?

    Je sais que c'est un timeout car mon catch le dit quand j'active le message d'erreur et j'utilise un HttpResponse aussi.

    Si j'ai une erreur 404 sur la page web alors pas de problème, la procédure continu à appeler les autres liens mais pas un timeout.

    Il y a une solution sans augmenter le timeout ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Par défaut
    Erreur trouvé, finalement c'était moi l'erreur lol

    J'avais mon try avant ma boucle et mon catch après et non à l'intérieur de ma boucle ce qui fessait arrêter ma boucle.

    Donc problème résolu !

    Et merci à toi tomlev pour cette référence !

  5. #5
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Par défaut
    Je rajouterai quand même une petite correction dans ton algo' ...

    Tu fais une boucle sur tous les éléments d'une liste.
    En fin de traitement tu modifie cette liste... C'est vraiment pas top.

    Passe par un tableau temporaire pour récupérer, rafraichir ta liste.

    Tu risques à un moment donné d'avoir des soucis... J'ai déjà testé un truc dans le genre...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/09/2006, 08h56
  2. Réponses: 4
    Dernier message: 20/04/2006, 11h07
  3. Réponses: 1
    Dernier message: 08/03/2006, 20h06
  4. Réponses: 3
    Dernier message: 28/02/2006, 08h43
  5. VB.NET Timeout
    Par Lux interior dans le forum XMLRAD
    Réponses: 4
    Dernier message: 14/02/2006, 14h12

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