我从 .NET 2.0 升级到 .NET 4.0 运行时的 Web 应用程序中的 ActiveX 控件存在问题。
情况如下:
- 该应用程序的 GUI 与以前的版本基本没有变化。
- 新旧版本运行在同一个网站下的两个不同的虚拟目录应用程序下。
- OLD 应用程序上的用户可以看到 ActiveX 签名板控件。
- 新应用程序上的用户看不到该 ActiveX 签名控件(改为看到红色 x)
- 返回到两个应用程序上的浏览器 (Internet Explorer) 的 ActiveX 控件 HTML 完全相同。
- 无法在新应用程序上看到 ActiveX 控件的用户正在尝试从同一台计算机访问新应用程序并像访问 dol 应用程序时一样登录。
- 开发人员(我)可以从开发 PC 上看到旧应用程序和新应用程序上的 ActiveX 控件,但不能从生产 PC 上看到,我得到的结果与最终用户相同。
- 将站点添加到受信任域并不能解决问题。
我的问题是:当两个 URL 都在同一个域下,由同一个网站提供服务并通过不同的虚拟应用程序与不同的.NET版本?
- 我会丢失发送到浏览器的库吗?
- 我是否缺少浏览器上的安全设置。
- 我是否缺少支持 ActiveX 控件所需的支持库或其他对象?
我希望我已经提供了解决此问题所需的一切。如果没有请询问。ActiveX 控件和相关问题不是我的强项,这个问题已经困扰了我好几个星期,我已经在网上搜索了解决方案。感谢您的帮助,在此先感谢您。
添加:
这是旧应用程序中有效的对象标签。
<OBJECT classid=clsid:69A40DA3-4D42-11D0-86B0-0000C025864A height=75
id=SigPlus1 name=SigPlus1
style="HEIGHT:148px;WIDTH:250px;LEFT:0px;TOP:0px; background-color:#efefef;">
<PARAM NAME="_Version" VALUE="131095">
<PARAM NAME="_ExtentX" VALUE="4842">
<PARAM NAME="_ExtentY" VALUE="1323">
<PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
更新后的应用程序中的对象标签仅适用于我的开发计算机:
<object classid="clsid:69A40DA3-4D42-11D0-86B0-0000C025864A" height="75"
id="SigPlus1" name="SigPlus1"
style="height:148px;width:250px;left:0px;top:0px;background-color:#efefef;">
<param name="_Version" value="131095"/>
<param name="_ExtentX" value="4842"/>
<param name="_ExtentY" value="1323"/>
<param name="_StockProps" value="0"/>
</object>