저는 서버에있는 파서에서 HTMLAgilityPack을 사용하고 있습니다. 그러나 구문 분석하는 웹 사이트 중 하나에 문제가 있습니다. 매일 6 시경에 유지 관리를 위해 서버를 종료하는 경향이 있습니다. HTMLWeb에 대한 Load () 메서드를 사용하고 내 응용 프로그램을 중단시킵니다. HTMLAgilityPack에 웹 사이트를로드하는 더 안전한 방법이 있습니까? 아니면 C #에서 오류 검사를 수행하여 내 앱이 충돌하지 않도록 할 수 있습니까? (내 C #은 약간 녹슬다.) 지금 내 코드는 다음과 같습니다.
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
고맙습니다!
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
}
정확한 재시도 논리는 응용 프로그램이 어떻게 구성되어 있는지에 달려 있습니다. 응용 프로그램에서 try-catch
블록을 이보다 훨씬 높게 배치해야 할 필요가있을 것입니다.
WebException
예외 잡으려고 생각하지만 설명서를 찾을 수 없기 때문에 나는 확신 할 수 없습니다. TimeoutException
을 catch해야 할 수도 있습니다.