从本机 ActiveX 控件获取 IWebBrowser2 失败。

问题描述

需要在WebFrom中实现一个网页抓取功能,里面用到了System.Windows.Forms.WebBrowser控件,功能已经实现,用VSIISExpress运行没问题,可以取到数据。但一部署到IIS上就出问题了,请各位大神帮忙指导一下,谢谢!核心代码staticSystem.Windows.Forms.WebBrowserwb;privatestaticstringurl="http://www.baidu.com";privatestaticList<MyCount>myCounts=newList<MyCount>();[STAThread]protectedvoidPage_Load(objectsender,EventArgse){try{System.Threading.Threadt=newSystem.Threading.Thread(newThreadStart(()=>{wb=newSystem.Windows.Forms.WebBrowser();wb.DocumentCompleted+=wb_DocumentCompleted;wb.Navigate(url);while(wb.ReadyState!=System.Windows.Forms.WebBrowserReadyState.Complete){System.Windows.Forms.Application.DoEvents();//避免假死,若去掉则可能无法触发DocumentCompleted事件。}}));t.SetApartmentState(ApartmentState.STA);t.Start();}catch(Exceptionexception){Response.Write(exception.Message);}}voidwb_DocumentCompleted(objectsender,System.Windows.Forms.WebBrowserDocumentCompletedEventArgse){myCounts=newList<MyCount>();if(wb.ReadyState==WebBrowserReadyState.Complete&&wb.IsBusy==false){HtmlDocumentdoc=wb.Document;//抓取网页HtmlElementhem=doc.GetElementById("list");//这里就像js里面一样通过ID来查找对象for(inti=0;i<hem.Children.Count;i++){stringinnertext=hem.Children[i].InnerText.Trim();string[]temps=innertext.Split('');myCounts.Add(newMyCount(){Name=temps[0],Number=temps[1]});}}else{Response.Write(wb.ReadyState.ToString());}}

错误:

解决方案

解决方案二:
设置iis权限问题
解决方案三:
引用1楼u011954277的回复:

设置iis权限问题

怎么设置?设置成什么?
解决方案四:
ie的话要设置下Active插件工具--Internet选项--安全--自定义--将ActiveX控件和插件下面都设置为允许或者是提示

时间: 2024-10-26 09:23:24

从本机 ActiveX 控件获取 IWebBrowser2 失败。的相关文章

activex-从本机 ActiveX 控件获取 IWebBrowser2 失败。

问题描述 从本机 ActiveX 控件获取 IWebBrowser2 失败. 提问地址 http://bbs.csdn.net/topics/391856570?page=1#post-400557331 解决方案 获取嵌入ActiveX控件的页面IWebBrowser2指针

excel-C# 获取Excel表格中的控件(非ActiveX控件),先谢谢大神的指点!

问题描述 C# 获取Excel表格中的控件(非ActiveX控件),先谢谢大神的指点! 这里有篇文章,http://wenku.baidu.com/view/3a03db32b90d6c85ec3ac613.html 但是Excel.CheckBoxes a = (Excel.CheckBoxes)WS.CheckBoxes(Type.Missing);根本通不过呀... 解决方案 foreach (var ole in Sheet1.OLEObjects) { if (ole.Object.G

如何: 通过HTML文档对象模型访问文档中的ActiveX控件的属性 .

如何: 通过HTML文档对象模型访问文档中的ActiveX控件的属性   此文章的信息应用于: Microsoft Internet Explorer (编程) 版本4.0, 4.01, 4.01 SP1, 4.01 SP2, 5, 5.01, 5.5,6.0 概要 CSDN文档中心文章 用 MSHTML 的一点经验 111222(原作) 说明了如何访问在HTML文档对象模型中的网页的元素.内容.但是,有时候开发者实际上需要访问的是网页中ActiveX控件的属性.方法和事件.例如,你在网页载入之

利用ActiveX控件InetCtls.Inet在ASP中实现新闻小偷_应用技巧

这几天维护网站的时候要加很多的新闻或者其它文章,因为经常到一个网站上找文章,所以就想,能不能做个程序,指定一个网址,让ASP去搜索这个网址上所有的文章,进而把搜索回来的文章进行分析,把文章内容保存到数据库里,这样不就可以省去很多麻烦了吗? 后来才知道,这个想法早就有人想过,也有人做过新闻小偷,呵呵,不过据说是php的,我没见过,呵呵,反正报着一种开发的心态开始进行工作-- 我记得以前收集的有一篇文章介绍的有如何用ASP获取别人的网页,拿出来一看,嗨,没几句代码: URL = http://new

【转】ActiveX控件注册的几种方法

from:http://hi.baidu.com/estellejiang/blog/item/af16e862bbd1d3d7e6113aa7.html      ActiveX控件是一个动态链接库,是作为基于COM服务器进行操作的,并且可以嵌入在包容器宿主应用程序中,ActiveX控件的前身就是OLE控件.由于ActiveX控件与开发平台无关,因此,在一种编程语言上开发的ActiveX控件可以无须作任何修改,即可在另一种编程语言中使用,其效果如同使用Windows通用控件一样.如:在VC++

在C++中用ActiveX控件显示PDF文件

PDF介绍 PDF是"Portable Document Format 可移植文档格式"的缩写,它是Adobe公司开发的一种电子文档格式,已经成为国际通用的电子文档交换事实标准.PDF文件可以在各种平台下阅读.编辑.发布.该文件格式支持字体.图像.甚至任何附件的嵌入. Adobe公司提供了两种软件用于处理PDF文档,分别是Acrobat及Acrobat Reader:前者功能强大,不仅能阅读,还可以创建或编辑PDF文档,但要收费:后者只具备阅读功能,为免费软件. 用ActiveX控件显

ASP与ActiveX控件交互实战

active|activex|交互|控件 关键字:ASP,ActiveX控件,数字签名,安全 ActiveX控件运行在客户端.我们可以获得客户端的一些信息,如IC卡的信息,客户端的验证等等.但是ActiveX控件也有许多缺点:客户端的部署很困难,如客户端不能正确下载,下载了以后不能正确执行,下载的时候需要设置IE的安全级别等等. 更多的时候,我都在使用COM组件来扩展ASP的功能.准确地说,是服务端运行的Activex Dll组件.使用Server.CreateObject("工程名.类名&qu

ASP与ActiveX控件交互实战(一)

active|activex|交互|控件 龙卷风 关键字:ASP,ActiveX控件,数字签名,安全 ActiveX控件运行在客户端.我们可以获得客户端的一些信息,如IC卡的信息,客户端的验证等等.但是ActiveX控件也有许多缺点:客户端的部署很困难,如客户端不能正确下载,下载了以后不能正确执行,下载的时候需要设置IE的安全级别等等. 更多的时候,我都在使用COM组件来扩展ASP的功能.准确地说,是服务端运行的Activex Dll组件.使用Server.CreateObject("工程名.类

ASP与ActiveX控件交互实战(二)

active|activex|交互|控件 龙卷风 关键字:ASP,ActiveX控件,数字签名,安全 我们来看看如何从服务端获取数据,传递到ActiveX控件中. 1) 初始化时使用参数绑定 2) 运行时得到数据 打开vb6,新建ActiveX控件工程. 工程名:fOcx,用户控件名:UC2 为了方便,我们使用ActiveX控件接口向导-,菜单->外接程序->外接程序管理器->VB 6 ActiveX控件接口向导.确定即可. 打开ActiveX控件接口向导,下一步,对于可用名称和选定名称