FineUI 官方论坛

标题: webForm 后台调用ocx控件问题。急急急!! [打印本页]

作者: rebirth_tao    时间: 2013-8-14 16:02
标题: webForm 后台调用ocx控件问题。急急急!!
webForm 后台调用ocx控件问题。
开发环境,VS2010
项目类型,B/S (Asp.net)
引用某公司的aaaa.ocx控件步骤如下:
1、将aaaa.ocx 封装到C#的一个类库Myaaaa.dll中,类库提供对外程序的接口,比如发送方法Send()
2、在webForm的后台代码引用Myaaaa.dll类库,然后调用Send()方法。
在Visual Studio 开发服务器模式下(即直接通过运行VS程序)运行代码是没问题的,
但将代码发布到IIS7中运行,就会出现“System.Runtime.InteropServices.COMException (0x8000FFFF): System Error.  Code: 5.拒绝访问”错误。

我在网上找了N多种方法也没解决,IIS7各种权限都配置了也不行。
请问各位大神们,有没有什么解决访法,在Asp.net项目中能这样使用ocx控件吗?
我知道一般情况下,ocx都是放在前台页的<object/>里的,然后由js操作的!



作者: rebirth_tao    时间: 2013-8-14 16:19
有么有高手知道呀,三石大哥 知道不,web我用的FineUI
作者: 莮亾    时间: 2013-8-15 13:11
浏览器安全阻止了你这个com组件 要签名你的OCX
作者: rebirth_tao    时间: 2013-8-15 13:56
莮亾 发表于 2013-8-15 13:11
浏览器安全阻止了你这个com组件 要签名你的OCX

噢 ,我试试!谢谢了
作者: rebirth_tao    时间: 2013-8-15 15:11
莮亾 发表于 2013-8-15 13:11
浏览器安全阻止了你这个com组件 要签名你的OCX

请问一下如何操作!我在网上找了一下,说要做个CAB包,不过这些感觉都是针对放在HTML里的!
这个OCX是放在服务器端的,只是客户端触发了调用事件,不知道该如何这种情况 操作!
作者: 莮亾    时间: 2013-8-16 13:17
如果你不需要客户端访问一些设备 建议不使用OCX 如果要用可以参考http://www.cnblogs.com/yungboy/archive/2011/01/10/1932433.html
作者: rebirth_tao    时间: 2013-8-17 08:26
莮亾 发表于 2013-8-16 13:17
如果你不需要客户端访问一些设备 建议不使用OCX 如果要用可以参考http://www.cnblogs.com/yungboy/archive/ ...

好的,多谢了,我去仔细看看呢!
作者: rebirth_tao    时间: 2013-8-19 14:29
本帖最后由 rebirth_tao 于 2013-8-19 14:31 编辑
莮亾 发表于 2013-8-16 13:17
如果你不需要客户端访问一些设备 建议不使用OCX 如果要用可以参考http://www.cnblogs.com/yungboy/archive/ ...

问题解决了
方法一:在IIS中设置web对应的应该程序池的标识为“LocalSystem”,让访问者具有系统权限,这样OCX就可以调用了,不过这样系统就不太安全。还要设置“IIS Adimn Service”服务的属性为“允许服务与桌面交互”。
方法二:通过修改OCX的方法来解决。(具体操作没有做过)





欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4