如何使用webbrowser在链接列表中导航?

时间:2014-02-21 13:36:56

标签: c# multithreading url webbrowser-control

我有一个网址列表,我需要浏览它们。如何确保每个网址都会调用DocumentCompleted事件?我已经尝试创建了许多线程,并尝试使用单个线程,但应用程序仍然没有为每个URL触发事件DocumentCompleted。

有没有办法在url列表中创建一个循环并让它们调用DocumentCompleted,直到线程调用下一个url?

2 个答案:

答案 0 :(得分:3)

要实现这一点,async/awaitTask Parallel Library可能会派上用场。它们允许为异步逻辑(一个接一个地处理多个导航的DocumentCompleted事件)拥有熟悉的伪线性代码流。

我针对 WinForm应用here 以及控制台应用here 回答了类似的问题。

如果您需要定位.NET 4.0但使用VS2012 +进行开发,您仍然可以使用async/await,Microsoft会为此提供Microsoft.Bcl.Async库。

如果此项目没有C#5.0,您可以yield使用{{1}}。

答案 1 :(得分:2)

如果页面上有脚本错误,则可能永远不会完成。你应该为那个事件做一个超时。