2

使用对象模型或 STSADM 命令部署到共享点有时会导致一个或多个包在 Web 控件中处于“错误”状态,重新部署会立即修复此问题,通常甚至更奇怪,如果我创建两个应用程序,一个添加一个,一个添加一个部署然后我没有问题,但是在单个程序之间设置延迟不会产生类似的效果。

如果我为未成功部署的程序运行两次部署,它工作正常,只要我不尝试以编程方式执行它,在这种情况下它没有区别。

它是不同的文件,有时没有。

我确实在添加和部署之间甚至在两个部署束之间使用 stsadm -execadmsvcjobs。(我正在以编程方式部署大约 10 个 wsp 文件)

有没有人知道为什么会发生这种情况?或者如何解决它,因为当我开始实现它会导致问题。

4

1 回答 1

1

问题在于 sharepoint 将执行应用程序池回收和/或完整的 iisreset,以及重新启动 SharePoint 计时器服务(尽管对此并不完全确定)。当您尝试实际部署刚刚安装的包时,sharepoint 仍然忙于重新启动和运行,为安装/部署创建的计时器作业基本上是在等待中央管理应用程序池再次完全运行。

在撤回解决方案时也会发生同样的事情(有点可重现)。在撤消过程正在进行时,在解决方案管理页面上多次按 F5,如果刷新速度足够快,它将挂起并以红色显示“错误”。

我的解决方案是在您的部署应用程序或 powershell 中至少为中央管理员创建一个 WebRequest(或只执行 SPSite = new SPSite("centraladminurl"))。在每次部署操作之后执行此操作。

应该解决时间问题(基本上是一种“竞争条件”)。

于 2009-11-11T21:30:27.460 回答