当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96“
来源:互联网 发布:阿里云域名 能退吗 编辑:程序博客网 时间:2024/06/07 22:51
在做采集时,有些网页因服务器限制用webclient或者webrequest不能获取html,这时我们可以用webbrowser的方法来绕过对方服务器的限制,但是在实例化webbrowser 的时候发现会报上面的错误,查了一些资料,最终写出下面的代码,能实现功能,不过可以再优化,留待以后有空的时候研究一下,下面是实现代码:
private static string htmlstr; private static void GetHtmlWithBrowser(object url) { htmlstr = string.Empty; WebBrowser wb = new WebBrowser(); wb.AllowNavigation = true; wb.Url = new Uri(url.ToString()); DateTime dtime = DateTime.Now; double timespan = 0; while (timespan < 10 || wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); DateTime time2 = DateTime.Now; timespan = (time2 - dtime).TotalSeconds; } if (wb.ReadyState == WebBrowserReadyState.Complete) { htmlstr = wb.DocumentText; } } /// <summary> /// 在单线程中启用浏览器 /// </summary> public static void RunWithSingleThread(object url,ref string html) { ParameterizedThreadStart ps = new ParameterizedThreadStart(GetHtmlWithBrowser); Thread t = new Thread(ps); t.IsBackground = true; t.ApartmentState = ApartmentState.STA; t.Start(url); html = htmlstr; }
0 0
- 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96“
- 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件 解决
- 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件的解决方案
- 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件
- 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件解决办法
- 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件的解决方案
- 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件
- 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件
- 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件的解决方案
- 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件的解决方案
- “当前线程不在单线程单元中,因此无法实例化 ActiveX 控件……” 的解决办法
- 因为当前线程不在单线程单元中,故无法实例化ActiveX 控件
- {8856F961-340A-11D0-A96B-00C04FD705A2} WEB BROWSER
- C#错误——“当前线程不再单线程单元中”
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
- MPDU and MSDU
- sql统计每5分钟的次数
- (转)cocos2d-x学习笔记13:动作4:其他动作
- Flex——HelloWorld
- Android中LocationManager的简单使用01
- 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96“
- Lucene索引&搜索核心类
- Oracle日志文件管理与查看
- android端 发送到servlet 汉字编码问题
- java 导出excel表格
- 关于数码照片的打印和分辨率的有关问题的探讨《转》
- BIOS中断
- hbase写数据进程
- RFC-2326 RTSP协议中文版