我有一个循环遍历多个值。迭代每个值时,都会将页面加载到 Web 浏览器控件中(将值作为参数传递),并且当加载和读取页面时,循环应转到列表中的下一个值并继续,直到处理完所有值。我需要一种方法来在网站异步加载时暂停该过程,然后在页面加载/读取过程完成后恢复。
我正在做的方法是使用类似的东西,其中“ReadingInProgress”是一个全局变量:
ReadingInProgress = True
wb.Navigate("http://mywebsite.com/mypage.aspx" & c)
While ReadingInProgress
Application.DoEvents()
End While
Web 浏览器控件的“DocumentCompleted”事件将“ReadingInProgress”设置为 false,这会导致 while 循环退出并恢复该过程。这可行,但我意识到这会给 CPU 带来压力。有没有更好的、CPU 密集程度较低的方法来做到这一点?
Thanks!
我最近回答了一个类似的问题。解决方案是用 C# 编写的,但您可以使用Async/Await
在VB.NET中以非常相似的方式。使用这种技术,您将获得代码的自然执行流程(DocumentComplete
事件被封装为Task
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)