先说明一下我使用的场景吧,用Microsoft HTML Object Library来操作IE11。。。并不是用winform自带的浏览器控件。。。因为我要操作的网页中,含有HTML5的,自带浏览器控件不能全部加载,当然还有其他的一些原因,我放弃了自带的。
private async void button9_Click_1(object sender, EventArgs e)
{//省略代码若干
await task.run(()=>{框架网页的耗时操作//这里出错,如果不是框架网页就没错});
}
关于框架网页Microsoft HTML Object Library
对它的描述是:
,我试过了,就算我用JS来操作也照样出错的。但是如果我这样用:
private async void button9_Click_1(object sender, EventArgs e)
{
///省略若干代码
await test();
}
private async Task test()
{
//框架网页的耗时操作
}
就不会出错了,但是又说并没有进行异步操作,不过这样的代码,winform的界面也不会卡了。。
不过这样的代码又不能用ManualResetEvent来进行暂停和继续的控制,因为暂停后,界面就会卡死了,
请教该如何解决呢?
private async void button9_Click_1(object sender, EventArgs e)
{//省略代码若干
await task.run(()=>{框架网页的耗时操作//这里出错,如果不是框架网页就没错});
}
关于框架网页Microsoft HTML Object Library
对它的描述是:
,我试过了,就算我用JS来操作也照样出错的。但是如果我这样用:
private async void button9_Click_1(object sender, EventArgs e)
{
///省略若干代码
await test();
}
private async Task test()
{
//框架网页的耗时操作
}
就不会出错了,但是又说并没有进行异步操作,不过这样的代码,winform的界面也不会卡了。。
不过这样的代码又不能用ManualResetEvent来进行暂停和继续的控制,因为暂停后,界面就会卡死了,
请教该如何解决呢?