【发布时间】:2026-01-09 15:05:01
【问题描述】:
我们创建了一个 .Net 程序集并使其可作为 COM 对象访问。当我们试图在 ASP 页面中公开此对象的任何方法时,我们会收到错误“80131509”。我们在实例化对象时没有收到任何错误。即 Server.CreateObject 正在通过。
这在我们的开发环境中运行良好,但在 UAT 环境中出现此错误。开发和 UAT 几乎相同,只是 UAT 更安全。我已经尝试了所有可能的方法,但没有运气。在过去的 4 天里,我一直在处理这个问题,我们将不胜感激。
我怀疑 IIS 7 在公开该 dll 时可能存在一些权限问题。但不确定它可以是什么?我们也赋予了IUSR 的全部权利。
代码:
set obj = Server.CreateObject("DataAccess")
dim rs
set rs=obj.GetLocations("All") <--- **Here i am getting an error.**
【问题讨论】:
-
.dll是否注册在UAT服务器上,即
regsvr32? -
对不起,我忘了提到那部分。是的 dll 是使用 Regasm 在 UAT 服务器上注册的。
-
您是否注册了 .NET 程序集以供 32 位和 64 位使用?我不知道 Classic ASP 是作为 32 位还是 64 位进程运行的(大概在 w3wp.exe 下)。请注意,有时对 CreateObject 的调用可能会静默失败,您只会在尝试使用该对象时收到错误消息。我建议您先尝试实例化一个 Microsoft 开发的 COM 可见 .NET 对象,以查看系统是否在原则上工作,然后再找出您的特定实现有什么问题。
-
你检查过这个链接了吗? *.com/questions/1281052/…
标签: iis-7 asp-classic