我在尝试异步编程时遇到了一个奇怪的问题。 这是我的方法的一部分,表现得非常奇怪:
List<HtmlElement> links1 = new List<HtmlElement>();
links1.AddRange(w.Document.GetElementsByTagName("a").Cast<HtmlElement>());
当我以前同步调用它时它工作正常。但是当我异步调用它时,它会抛出&#34; system.invalidcastexception指定的强制转换无效&#34;。 我调用它的事件看起来像是:
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var t = Task.Run(() => util.handleBrowser(webBrowser1));
}
无法谷歌任何相关的...任何想法将不胜感激!
P.S。:如果我这样运行,那么util.handleBrowser方法是否能够通过使用webBrowser1.Navigate()再次触发相同的事件?