作者noah06 (小No)
看板C_Sharp
标题[问题] 使用BackgroundWorker 执行 WebBrower 发生非单一执行绪
时间Thu May 1 14:01:43 2008
我想写一个应用程式
使用 BackgroundWorker 在幕後呼叫 WebBrower 来撷取许多网页上的资料
但 WebBrower元件好像必须要在主执行绪执行, 不知道由没有人有解决的方法呢
麻忙大家了!!
类似的错误资讯:
例外详细资讯: System.Threading.ThreadStateException: 无法产生 ActiveX 控制项
'8856f961-340a-11d0-a96b-00c04fd705a2',因为目前的执行绪不是在单一执行绪
Apartment。
[ThreadStateException: 无法产生 ActiveX 控制项
'8856f961-340a-11d0-a96b-00c04fd705a2',因为目前的执行绪不是在单一执行绪
Apartment。]
System.Windows.Forms.WebBrowserBase..ctor(String clsidString) +3653451
System.Windows.Forms.WebBrowser..ctor()
麻烦大家了~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.117.219.210
1F:→ qweqweqweqwe:"撷取许多网页上的资料"应该不用这个元件吧 05/01 14:57
2F:→ noah06:我是要撷取网页内容的一部份重要资讯 如 网页table的内容 05/01 17:29
3F:→ noah06:故使用 WebBrowser的GetElementsByTagName很方便 05/01 17:30
4F:→ noah06:但因为要抓很多网页, 故不知是否有人能有背景执行的方法 05/01 17:32
5F:推 MRjk:不能放在主执行绪吗? 05/01 17:35
6F:推 EricTsai:main thread建好WebBrowser (不确定要不要加到Form上) 05/01 23:27
7F:→ EricTsai:传到另一个Thread,然後判断InvokeRequired,不行吗? 05/01 23:27
8F:→ EricTsai:(我习惯用ThreadPool/Thread) 05/01 23:44
9F:→ noah06:您好我对main thread建好WebBrowser传到另一个Thread 05/02 08:39
10F:→ noah06:不太了解,不知道您是否有个您写过的简单范例可借我参考 05/02 08:39