Tridion cd_link.PageLink GetLinkAsString(…)导致页面每隔一次请求都失败

Tridion cd_link.PageLink GetLinkAsString(…)导致页面每隔一次请求都失败,tridion,tridion-2011,tridion-content-delivery,Tridion,Tridion 2011,Tridion Content Delivery,我目前正在从TridionR5.3迁移到Tridion2011。我在通过演示服务器提供某些页面时遇到问题。作为参考,我所有的网页都是经典的ASP,我正在IIS7.5上运行它们 我有一个页面位于http://www.example.com/widget/index.asp。当我第一次访问页面时,我得到一个页面无法显示,因为发生了内部服务器错误。,如果我随后刷新页面,它将正常加载,如果我第三次刷新页面,它将出现错误。该页面每隔一个请求就工作一次 我在我的网站上启用了失败的请求跟踪,我得到了错误信息

我目前正在从TridionR5.3迁移到Tridion2011。我在通过演示服务器提供某些页面时遇到问题。作为参考,我所有的网页都是经典的ASP,我正在IIS7.5上运行它们

我有一个页面位于
http://www.example.com/widget/index.asp
。当我第一次访问页面时,我得到一个
页面无法显示,因为发生了内部服务器错误。
,如果我随后刷新页面,它将正常加载,如果我第三次刷新页面,它将出现错误。该页面每隔一个请求就工作一次

我在我的网站上启用了失败的请求跟踪,我得到了错误信息

ASP_LOG_ERROR
LineNumber: 87
ErrorCode: 800706be 
Description:
注意:没有描述

正在调用的代码是

85: Dim objTranslationPageLink
86: Set objTranslationPageLink = Server.createObject("cd_link.PageLink")
87: strTranslatedPageLink = objTranslationPageLink.GetLinkAsString("tcm:0-12-1", "tcm:12-123456-64", "", "", "TranslationFound", False)
88: Set objTranslationPageLink = Nothing
就在调用
GetLinkAsString(…)
函数时,创建
cd\u link.PageLink
对象似乎没有问题

我在很多其他页面中使用了
cd\u link.PageLink
对象,没有任何问题,但是使用这段特定代码的页面似乎遇到了问题

我认为这可能与缓存页面有关,但是我关闭了ASP页面的缓存(IIS7>ASP>服务>缓存属性),仍然存在问题

有什么想法吗

编辑1 该代码在WindowsServer2003IIS6上运行良好。我正在努力使它在Windows Server 2008 IIS7上工作

编辑2 页面似乎正在创建许多
cd\u link.ComponentLink
cd\u link.PageLink
对象。我有一个测试页面,我在其中创建了10个ComponentLink对象,我会得到错误(每隔一个页面),但如果我将其减少到5个ComponentLink对象,它每次都会工作

编辑3 我的cd_core.xxxx.xx.xx.log有以下错误

2012-11-02 11:55:34027错误XMLConfigurationReader-验证文件“cd_link_conf.xml”和模式“schemas/cd_link_conf.xsd”时出错。cvc复杂类型。3.2.2:属性“DefaultRootLocation”不允许出现在元素“Publications”中

编辑4
谢谢你容忍我。我的cd_link_配置出现的问题已修复,似乎与此无关。现在,我的四个日志文件(cd_core、cd_deployer、cd_monitor、cd_transport)中没有任何错误,但原始问题仍然存在。

我已经很久没有使用经典ASP和SDL Tridion了,但请仔细检查以下内容

  • 链接服务是否在服务器上运行
  • 检查您的cd_licenses.xml文件是否到位
  • 验证您是否有正确的cd_链接_conf.xml和cd_存储_conf.xml(我相信这些内容已从5.3更改)
  • 在应用程序和Tridion事件日志中查找线索
  • Tridion链接日志文件
  • 该错误代码似乎暗示链接DLL未正确注册

这就是我目前所能想到的。

我没有意识到2011模式实际上验证了配置文件,但无论如何,现在错误已经清楚了。我建议您自己在XML编辑器(如XMLSpy)中进行验证。这应该准确地指出配置文件的错误所在


要定期检查配置,您可能会发现按照所述编写脚本很有趣

看起来您正在运行CD-Link windows服务,以下修补程序可能有助于解决您的问题。我还没有尝试过此修补程序,但描述中说,第二次尝试访问页面时,
页面链接失败,因此这意味着它可能会根据记录器内存资源大量工作

无论如何,值得一看这个修补程序:CD_2011.1.0.78355


说明:链接windows服务未正确清理某些windows平台上的记录器内存资源

听起来您可能有一个旧的链接配置文件-尝试从安装程序复制默认文件,并重新设置特定于实现的值。我现在的日志文件中没有错误,但问题仍然存在。问题更新为edit4。凯文,你是否使用链接Windows服务来解析链接?@RamG,我必须安装旧cd_代理、cd_链接和cd_wai。是的,它们作为web服务运行。请查看修补程序:CD_2011.1.0.78355。似乎与您的问题很接近。我认为您有一个旧的cd_link_conf.xml-在新版本的SDL Tridion中,位置存储在存储配置中file@Quirijn,我现在已经修复了配置文件中的问题,错误日志中没有出现错误,但问题仍然存在!检查修补程序:CD_2011.1.0.78355。好像接近你的问题了谢谢。我已经修复了验证错误,它们似乎没有关联。这确实是答案!谢谢