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)");
我使用以下代码遍历页面,但有时webbrowser控件将停止,它不会转到下一页。没有例外,没有什么它会停止,但它肯定有另一个链接可以访问。我认为它与控件中的内部错误有关,但是我如何捕获它。我的异常处理程序都没有抓到任何东输出控制台中没有任何内容。我已禁用脚本错误。
答案 0 :(得分:0)
该代码段位于何处?如果你在控件的事件处理程序中拥有它 - 你很可能自己死锁。由于Web浏览器控件可以(并将在页面加载的各个阶段中触发)多个事件。
文档完成将针对页面上的每个帧触发。 (Stack OverFlow)
对不完整的代码段进行评论也很困难。在继续下去之前,我会阅读(Locking)以了解内在函数。祝你好运。