我陷入了一个非常奇怪的问题,我还没有从互联网上找到解决方案。这是我的问题: -
我有一个预编译的java类,它在javareg实用程序中注册,因此它可以在经典ASP页面中用作COM对象。因此,在具有Prog ID的global.asa中调用此java类,然后在整个页面中使用它来调用它的方法。这在我们当前的开发服务器(Windows Server 2003 R2)中运行良好。但是,它在我们新的64位Windows Server 2008 R2中不起作用。
我已经使用javareg完成了注册,但是当我尝试在ASP页面中使用Server.CreateObject创建对象时,我得到“ASP 0177:80070002'Server.CreateObject失败。”因此,我试图在我们现有的开发服务器中创建一个示例java类,并使用javareg注册它并使用Server.CreateObject来实例化它,但即使我在Dev服务器中得到同样的错误,这证明我甚至无法使用即使在工作开发服务器中,java类也作为COM对象。此外,当我尝试使用Vb 6模拟CreateObject方法时,我现在收到Classfactory自动化错误。
那么问题是什么呢?我看到我登录到服务器的ID已添加到Administrators组,因此很有可能出现任何权限问题。此外,我看到控制面板中存在已注册的java COM组件 - >组件......真的很感激任何建议或帮助......
其他信息: -
现有的开发服务器规范:
Windows Server 2003 R2(32位)
IIS 6.0
.Net Framework 2.0
新服务器规范:
Windows Server 2008 R2(64位)
IIS 7.5
.Net Framework 3.5
答案 0 :(得分:0)
这个问题现在在我想分享的深入分析之后解决了......我们必须将java类转换为C#.net dll并使用regasm工具注册它。现在,我们不得不在调用dll函数的ASP页面的调用方法上做一些更改。消除COM依赖后,它现在可以工作!!!