c# - 如何使用网络浏览器在链接列表中导航?

标签 c# multithreading url webbrowser-control

我有一个 url 列表,我需要浏览它们。我怎样才能确保每个 url 都会调用 DocumentCompleted 事件?我已经尝试创建多个线程并尝试使用单个线程,但应用程序仍然没有为每个 url 触发事件 DocumentCompleted。

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

最佳答案

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

我为 WinForm 应用程序回答了类似的问题 here 控制台应用程序 here .

如果您需要面向 .NET 4.0 但使用 VS2012+ 进行开发,您仍然可以使用 async/await,Microsoft 提供了 Microsoft.Bcl.Async图书馆。

如果 C# 5.0 不适用于此项目,您可以使用 yield,如 described here .

关于c# - 如何使用网络浏览器在链接列表中导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21935972/

相关文章:

multithreading - 调用 DetachCurrentThread 后崩溃

mysql - URL 中不可见的前导字符

c# - 用于自定义排序列表的 Lambda 表达式

c# - LINQ C# 数据查询抓取数据库的底部元素并检查它

java - 无法暂停我的线程!为什么?

regex - 将查询字符串重写为另一个查询字符串

url - 获取在 URL Laravel 中传递的变量

c# - 使用 Mutex 运行应用程序的单个实例

c# - 使用 ASP.NET WebAPI 发布复杂对象

java - 在单例工厂中同步和锁定