尝试在Classic ASP中创建服务器对象时出错

时间:2016-04-28 23:39:54

标签: asp-classic iis-7.5 com-object

.dll是ASPCache_x64.dll,位于C:\ Windows \ System32(我知道;这个决定是在我的时间之前作出的。)

服务器是运行Windows 7的主机上的带有IIS 7.5的Windows Server 2008 R2 VirtualBox VM。该网站是在.NET Framework 2.0下运行的经典ASP网站。 VM本身是我们用作模板的VM的副本,没有其他人使用该计算机的副本出现此问题。

问题:
在加载任何页面时,我收到以下错误:

ERROR IN PROCESSING: ?
ASP Code:
Number: 0
Source:
Line
Number: 0
Description: Create object failed
ASP Description: An error occurred while creating object 'myCache'. 

其他信息:

  • 最终追溯到Global.asa <object>标记
  • 尝试在桌面文件夹中运行的VBScript文件中创建和使用ASPCache对象正常工作
  • 尝试在同一域中的测试ASP页面上创建和使用ASPCache对象,在刷新页面之前给出了同样的错误,此时我收到此错误:

(破解标记的解决方法;忽略此行)

ERROR IN PROCESSING: /test_createobject.asp
ASP Code:
Number: -2146959359 
Source: 
Line Number: 4 
Description: Cannot create ASPCache object - a required component is missing. Please reinstall your software.

我尝试过:

  • 下载VM的新副本
  • 确保IUSR对C:\ Windows \ Systeme32 \ ASPCache-x64.dll具有读取和执行权限
  • 使用regsvr32.exe取消注册并重新注册C:\ Windows \ Systeme32 \ ASPCache-x64.dll
  • 授予对ASPCache和ASPCache.1注册表项的IUSR读取权限
  • 应用此处的修补程序:Server.CreateObject Failed in Classic ASP
  • 检查我能想到的每个设置,我们的共享开发环境没有这个问题
  • 每次更改后重新启动IIS
  • 完成上述所有操作后重新启动计算机
  • 授予单个应用程序池对C:\ Windows \ Systeme32 \ ASPCache-x64.dll的读取和执行权限
  • 将默认应用程序池标识更改为NetworkService
  • 将默认应用程序池标识更改为[计算机名称] \ Administrator

我几个月来一直在谷歌上搜索这个问题。我找不到任何帮助。

测试asp页面的代码,它不起作用:

<%
Dim testCache

Set testCache = Server.CreateObject("ASPCache")
testCache("Marco") = "Polo"
Response.Write testCache("Marco")
%>

VB脚本的代码,它可以工作:

Dim testCache
Set testCache = CreateObject("ASPCache")

testCache("Marco") = "Polo"
WScript.echo o("Marco")

Global.asa中的相关代码,它给出了原始错误:

<OBJECT RUNAT=Server SCOPE=Application ID=TestCache PROGID=ASPCache></OBJECT>

0 个答案:

没有答案