2

我有 ASP 应用程序,让我清楚所有代码在我的旧服务器上工作正常。

我们最近将我们的应用程序移到了 windows 2008 server R2 SP1,现在在部署之后,在我们的 default.asp 页面中,我们包含了四个不同的文件,问题在于每个文件,所以我以一个文件为例。

主文件(default.asp)在顶部有下面的对象创建代码。

<%
Dim objTdsComponentLink, objTdsPageLink
Set objTdsComponentLink = Server.CreateObject("cd_link.ComponentLink")
Set objTdsPageLink= Server.CreateObject("cd_link.PageLink")
%>

在这里一切正常,我们可以使用该对象而不会出现任何错误。

如上所述,我们包含四个不同的文件,并且在每个文件中我们为 PageLink 服务创建新对象,如下所示:

Set PageLink = Server.createObject("cd_link.PageLink")
<%  strURL = PageLink.GetLink("tcm:0-79-1", "tcm:79-64940-64", "", "", "more", True).URL%>

问题是,如果我们尝试将新对象声明为 Set PageLink = Server.createObject("cd_link.PageLink"),则会出错。但是,如果我们使用上面在 default.asp 中声明的相同对象,它会完美运行,如果我们使用或尝试创建新对象,则会出现以下错误。

error '800706be'
/include/home/FuelIndex.asp, line 26

我们是否在这里遗漏了一些配置/安装,并且令人惊讶的是为什么它适用于主页(default.asp)对象以及它在我们的旧设置中运行良好。

如果您能为上述问题提供一些建议/解决方案,将不胜感激。

谢谢。

4

1 回答 1

3

我假设你在 IIS7 上。确保您已将服务器端包含作为您的网络服务器角色的一项功能打开。它在 server 2008 或更新的机器上默认不打开。它在服务器配置下,为 IIS 添加/删除角色。

如果包含确实在父路径中,请确保您已在 IIS 上启用父路径。确保您的包含代码在其语法中是正确的。可能想要使用包含虚拟进行测试,因为它更灵活(与包含文件相比)。

最后,如果您创建的组件是 32 位的,请确保您的应用程序池是 32 位的。或 64 位(如果您正在使用)。

于 2012-07-16T07:13:52.650 回答