HTMLAgilityPack et délais d'attente au chargement

.net c# html-agility-pack vb.net

Question

J'utilise HTMLAgilityPack dans un analyseur que j'ai sur un serveur, mais l'un des sites Web que j'analyse me pose problème: tous les jours vers 6 heures, ils ont tendance à fermer leurs serveurs pour des raisons de maintenance, ce qui entraîne la méthode Load () pour HTMLWeb et provoque le blocage de mon application. L'un de vous deux a-t-il un moyen plus sûr de charger un site Web dans HTMLAgilityPack, ou peut-être un moyen de vérifier les erreurs en C # pour éviter le blocage de mon application? (mon c # est un peu rouillé). Voici mon code en ce moment:

HtmlWeb webGet = new HtmlWeb();
HtmlDocument document = webGet.Load(dealsiteLink); //The Load() method here stalls the program because it takes 1 or 2 minutes before it realizes the website is down

Je vous remercie!

Réponse populaire

Entourez simplement l'appel avec un try-catch:

HtmlWeb webGet = new HtmlWeb();

HtmlDocument document;
try
{
    document = webGet.Load(dealsiteLink); 
}
catch (WebException ex)
{
    // Logic to retry (maybe in 10 minutes) goes here
}

La logique de nouvelle tentative dépendra de la structure de votre application. Vous constaterez probablement que le bloc try-catch doit être placé plus haut dans votre application.

Je pense que WebException est l'exception que vous devriez capturer, mais je ne peux pas en être sûr car je ne trouve pas la documentation. Vous constaterez peut-être que vous devez également intercepter TimeoutException .



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow