首页 新闻 搜索 专区 学院

webbroswer多线程问题

0
悬赏园豆:100 [待解决问题]

我想解析网页动态的内容,比如from提交后的最终url, 所以用webbroswer模拟行为后抓取url

我现在单线程OK, 但多线程运行程序是会遇到问题,

  while (WebBrowserReadyState.Complete != Web.ReadyState)
  {
             Application.DoEvents();
  }

这时候会报错:

Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

 

代码已经声明为STA线程

Threads[i] = new Thread(new Crawler().Start);

Threads[i].SetApartmentState(ApartmentState.STA);

Threads[i].Start(url);

 

有高人知道原因么? 我觉得跟COM, 非托管内存管理有关

JJSGDBC的主页 JJSGDBC | 初学一级 | 园豆:100
提问于:2010-11-24 11:44
< >
分享
所有回答(1)
0

IE的对象模型是STA的,估计这样使用只能是多个进程的形式才行

2012 | 园豆:19149 (专家六级) | 2011-02-25 17:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册