-------------------------------------------------------- 
VC++制作的ActiveX无法在ASP.Net中使用; 
Web版的客户端引用该控件,与WinForm版的服务端进行通讯; 
ActiveX用的是Debug版和Release版都试验过啦,不可以; 
浏览器属性设置: 
工具->Internet选项->高级->把禁用脚本调试复选框的勾都去掉啦; <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head>  //没有加runat=server 
<title>Web客户端 </title> 
<script type="text/JavaScript" charset="gb2312"> 
function InitInterface() 
{ //通过JavaScript调用ActiveX中的方法时, 
  //出现"对象不支持此属性和方法"的错误信息; 
var Netocx=document.getElementById("NetVideo");  
Netocx.InitPort(); //通过端口号启动客户端,并与服务端建立连接Netocx.SendCommand("192.168.1.1","SendMessage"); 
//在Web页面向WinForm版的服务端发指令 

</script> 
</head> 
<body onload="InitInterface()"> 
<object id="NetVideo" classid="clsid:07163EA0-3BCF-4583-90B6-607BDF591111"> 
</object> 
</body> 
</html> ---------------------------- 
在WinForm中可直接通过 
控件名称.InitPort(); 控件名称.SendCommand("192.168.1.1","SendMessage"); 的方式来使用控件里面的方法; 
并且工具箱中可以看到新增加的控件; 
Web中则看不到; 
---------------------------- 
控件名称是NetVideo.ocx,在web中无法使用控件中封装的方法, 
还有朋友讲要打包成CAB格式签名应用,不是手机版也要打包么?
请大家帮忙看下原因。 
-------------------------------------------------------- 

解决方案 »

  1.   

    CAB等要签名等,正常下载,安装注册对应的ActiveX
      

  2.   

    控件是已经注册成功,并且在WinForm和VB6.0下可正常使用控件里面的方法;在Web环境下出问题:
    换一台电脑又提示异常信息:
    -------------------------
    Internet Explorer 安全警告
    Windows 已经阻止此软件因为无法验证发行者
    名称:NetVideo.ocx
    发行者:未知发行商

    -------------------------
      

  3.   

    如果不打包成CAB格式的话,控件是否可以使用呢?
      

  4.   

    哈哈。
    那就是数字签名的问题了,现在IE弄的很霸道,没有微软认证的签名的话就不给你的控件放行。
    反正就是得给微软交钱。
    之前我给我们公司做的控件也是这样,后来去弄了个签名就OK了。
    另外,ActiveX控件要写个IObjectSafety的接口类这样的东东,是给IE调用,用来初始化控件的安全接口。否则IE运行也会有问题。这个东西去网上随便搜下一大堆,抄过来就是了,都是固定格式的。
      

  5.   

    关于要不要打包成cab完全看你的控件,如果你的控件包含其他的引用文件,比如动态链接库之类的,而这些引用文件又不是系统包含的(比如mscrt80.dll之类的动态链接库就是系统包含的),那就有必要做个CAB,把这些引用文件和控件一起打成一个CAB包。
      

  6.   

    我封装的视频监控程序的客户端,用VC++做的控件,
    服务器用的是C#版本的;用到海康采集卡的DLL文件;IObjectSafety的接口作用是用来初始化控件,以便被IE识别?
      

  7.   

    lz不妨先生成一个OCX的框架,看能不能在ASP.NET中使用