ActiveX可以在本地主机上工作,而不是';无法在外部服务器上工作

本文关键字:工作 服务器 外部 主机 ActiveX | 更新日期: 2023-09-27 18:10:41

第2版:对于有同样问题的用户,我已经通过这个页面解决了这个问题。祝你好运

编辑:很明显,我的问题是我需要在客户端计算机上安装ActiveX组件。做这件事的正确方法是什么?

我在C#中编写了一个小的ActiveX组件,用于搜索USB闪存驱动器等可移动驱动器。我遵循了这里的步骤,简而言之,我写了一些代码并完成了:regasm AClass.dll /tlb /codebase

我编写ActiveX组件是因为它需要在外部服务器上执行。所以我制作了一个使用ActiveX的小网页。当我使用localhost时,代码会被执行,并且我的USB密钥会被检测到。它甚至可以在ASP.NET页面内部工作,这是最终目标。

但是,当从外部服务器访问页面时,代码不会被执行。我在加载ActiveX组件前后放置了javascript警报。加载ActiveX后的警报甚至不会触发。

网页使用此代码:

<html>
<head>
    <script language="javascript">
    alert("Loading ActiveX");
    var x = new ActiveXObject("ANamespace.AClass");
    alert(x.GetDrives());
    alert("Done");
    </script>
</head>
<body></body>
</html>

我可以发布C#ActiveX代码,尽管我认为不需要它,它只是试图找到可移动磁盘驱动器,它在我的本地主机上运行得很好。

注意,这实际上是我第一次使用ActiveX。提前感谢!

ActiveX可以在本地主机上工作,而不是';无法在外部服务器上工作

请确保在目标计算机上安装了ActiveX控件。我正在使用RegDllView进行检查。此实用程序是免费的,您可以在此处找到它:http://www.nirsoft.net/(请尝试使用x86和x64,这取决于您的控制(。祝你好运!:(正如jeffamaphone所说——"……这是一个痛苦的、记录不足的世界……"这是真的:(