0

在 SharePoint 页面库中添加或编辑页面时,我们会遇到以下异常:

[COMException(0x81020016):项目不存在您选择的页面包含不存在的项目。它可能已被其他用户删除。单击页面顶部的“主页”返回您的网站。] 在 Microsoft.SharePoint.Library.SPrequestInternalClass.RenderColumn。

奇怪的是,当我们第一次执行“签入”然后单击“发布”按钮时,它可以完美运行。但是直接单击“发布”会产生错误,但并非总是如此!

页面库有发布和项目计划,没有工作流(添加/编辑页面的人也是批准者)和主要/次要版本。我们使用从发布页面和自定义 PageLayout 派生的内容类型。

4

2 回答 2

1

我假设您正在使用 2 个 Web 服务器的负载平衡。

它不会发生的事实总是表明服务器之间存在差异。

然后,您可以检查几件事:

  • 两台机器上的所有版本和服务包都相同吗
  • 是否有任何服务器安装了 beta 软件
  • 您的代码在两台服务器上是否相同

您可以在不关闭系统的情况下进行测试:从集群中删除第一个 Web 服务器,看看是否发生错误,然后将其添加回来并对第二个 Web 服务器执行相同的操作。

于 2009-07-27T22:43:08.100 回答
1

我确定您已经检查过了,但是 ULS 日志中还有更多信息吗?

您是否也尝试过将调试器设置为中断所有异常,这是否为您提供了更多信息?转到调试、异常并勾选公共语言运行时异常。然后转到工具、选项、调试并取消勾选启用我的代码。最后附加到 w3wp.exe。

如果您运行的是 Windows Server 2008,您还可以尝试在上面的调试器中断时获取转储文件如果您正在运行 Server 2003, ADPlus可能会有所帮助,但我没有这方面的经验。然后,您应该能够使用DumpChk 或 WinDbg打开转储文件。

编辑:正如评论中所讨论的,这是部署到生产中的代码,不能中断其服务。创建转储文件的唯一方法是编程。看看我问的这个问题,如果你需要走这条路,希望能对你有所帮助。

如果您不想因调试而感到沮丧和肮脏,可以尝试的其他事情是尝试将您的自定义位部署到干净的服务器。看看您是否仍然可以重现问题或它是否会改变。

于 2009-07-21T15:14:38.490 回答