lock (lockVar)
{
if (done)
return;
if (linksvisited.Contains(webBrowser1.Url.OriginalString))
return;
System.Console.WriteLine("Locked: " + webBrowser1.Url.OriginalString);
linksvisited.Add(webBrowser1.Url.OriginalString);
}
webBrowser1.Navigate(nextLink, null, null, "User-Agent: Googlebot/2.1 (+http://www.google.com/bot.html)");
다음 코드를 사용하여 페이지를 반복하지만, 때로는 웹 브라우저 컨트롤이 중지되고 다음 페이지로 이동하지 않습니다. 예외가 없으면 아무 것도 멈추지 않을 것이지만, 확실히 방문 할 수있는 또 다른 링크가 있습니다. 나는 그것이 통제의 내부 오류와 관련이 있다고 생각하지만 어떻게 내가 그것을 잡아 두는 지옥. 내 예외 핸들러는 아무 것도 잡지 못합니다. 출력 콘솔에 아무것도 없습니다. 스크립팅 오류를 비활성화했습니다.웹 브라우저 컨트롤이 중지됩니다.
반환하는 대신 자물쇠 안에 중첩 된 if를 사용해 보셨나요? 잠금 구조가 끝나지 않았으므로 잠금 해제되지 않고 다시 돌아올 수 있습니다. –
그게 문제라고 생각하지 않습니다. http://stackoverflow.com/questions/1359184/can-i-put-a-return-statement-inside-a-lock – SamFisher83