use*_*838 11 com createobject asp-classic windows-7
Windows 7 32位,IIS 7.5.760016385
我在Visual Basic 6.0中创建了一个DLL,并尝试在经典的ASP代码中使用它:
set obj = Server.CreateObject("a.b")
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
006 ASP 0178
Server.CreateObject访问错误
检查权限时对Server.CreateObject的调用失败.此对象拒绝访问.
err.number = -2147024891
我已经尝试创建iusr_cmpname用户并在此ASP页面的默认网站和虚拟目录中为其授予权限.我有REGSVR32的dll.
我已经去了"打开和关闭Windows功能"并选择了IIS /万维网服务/应用程序开发功能,然后检查了ASP,ASP.net,ISAPI扩展和ISAPI文件管理器.
我已经跟踪了不同新闻组中的许多线索,但我可以解决这个问题.我们去年尝试了这一年,一年半和前一年,并遇到了同样的问题.由于我们无法克服这个问题,我们回到了Windows NT.我们在NT上从未遇到过这个问题.
现在我们再次尝试解决这个问题,以便我们再次转向Windows 7.似乎很多人都遇到了这个问题,但他们找到并发布的任何解决方案似乎都不是我需要的.
任何帮助将不胜感激.谢谢.
该问题似乎与 IIS 无法访问文件系统上您的自定义 VB6 Active X dll 有关。我在与默认 Web 应用程序相同的目录中注册了一个我创建的自定义 dll,并且能够让 ASP 创建该对象。
这就是我所做的:
全新安装 Windows 7 Professional 64 位 SP1。
启用 Windows ASP 功能
此步骤仅适用于 64 位 Windows - 使用 IIS 管理器,为默认应用程序池启用 32 位应用程序。

实用程序.cls:
Public Function Sum(ByVal a As Integer, ByVal b As Integer) As Integer
Sum = a + b
End Function
Run Code Online (Sandbox Code Playgroud)

默认.asp:
<%@ Language=VBScript %>
<%
Option Explicit
Response.Expires = 0
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
Function Sum(a, b)
Sum = a + b
End Function
Function Sum2(a, b)
Dim adder
set adder = Server.CreateObject("CXUtils.Utils")
Sum2 = adder.Sum(a, b)
set adder = nothing
End Function
%>
<html>
<head>
<title>Add</title>
</head>
<body>
<b>2 + 3</b> = <%= Sum(2,3) %><br />
<b>3 + 4</b> = <%= Sum2(3,4) %>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果这不能全部编译,我很抱歉 - 需要进行大量编辑才能使格式正确显示。
| 归档时间: |
|
| 查看次数: |
24794 次 |
| 最近记录: |