多线程抓取遇到的很复杂的问题。
我在.net 2005中写了一个控制台程序,多线程抓取网页内容,但用
WebBrowser webb = new WebBrowser();
webb.Navigate( "about:blank ");
HtmlDocument htmldoc = webb.Document.OpenNew(true);
htmldoc.Write(strWeb);
return htmldoc.GetElementsByTagName( "TR ");
分析网页内容时总是报
“当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”。”
错误!
我每一个线程中都加了 startSnatch.SetApartmentState(ApartmentState.STA);
但还是没用。
希望能得到各位高手的帮忙!多谢!
------解决方案--------------------要跨线程线程操作控件要用委托,相关资料请搜索
------解决方案--------------------Control.Invoke
------解决方案--------------------用Control.Invoke,应为你在自己的work线程里面调用了UI线程里面的对象