![]() |
1
2
使用 WebRequest 而不是韦布罗瑟 可以将实现更改为使用。 WebRequest.BeginGetResponse 它将异步获取资源,而不必自己管理线程。 |
![]() |
2
1
我不是webbrowser控件的专家,但两周前我也经历过同样的事情。问题是,当你告诉webbrowser做一些事情(比如导航,或者点击一个按钮)时,它必须离开并完成它的工作,可能包括等待网站响应它的请求。这一切都会发生 异步 然而,使用导航调用多次敲打它几乎肯定会失败。 你需要做的是让它工作(导航等),然后退出当前线程,等待webbrowser完成你要求它做的事情,然后通过引发事件告诉你, 然后 你可以进入下一步。 所以我要做的是让一个对象维护一个状态,根据当前状态,它对webbrowser执行一些操作,提升状态,然后退出线程。 我有另一个对象(实际上是表单),它接收来自webbrowser的所有事件,确定事件何时意味着it“完成”加载,然后再次调用第一个对象。 |