2010-08-12 61 views
2

我有一个ps1脚本,用于部署所有的Web部件。运行Update-SPSolution后,我开始注意到错误(错误503服务不可用)。发生的情况是,当我升级所有Web部件时,所有SharePoint Web应用程序的应用程序池停止。它也需要大约12分钟才能部署每个Web部件(这看起来像是永远 - 它看起来像可能并行运行它们)。有人可以说明使用Update-SPSolution升级Web部件的最佳方法。理想情况下,我希望我的脚本在完全完成特定Web部件的升级时停止,然后在完成后继续下一个脚本。思考?Update-SPSolution停止IIS上的应用程序池

+0

所有的Web部件都有不同的解决方案吗?我尝试将所有自定义Web部件都保存在一小组解决方案中(我只有四个)。 – kbrimington 2010-08-12 20:17:33

+0

是的,他们都有不同的解决方案,其中有11个。 – Josh 2010-08-12 20:18:20

回答

1

如果在每个解决方案清单中将ResetWebServer设置为false,您可能会获得更好的升级性能。当然,在所有的升级之后,你都不得不重置网络服务器,但至少你只需要做一次。

您可能还会考虑将Web部件组合成更少的项目/解决方案。这可能很具有挑战性,因为Web部件的装配限定名称是.webpart文件的一部分,因此也是任何仍在使用的Web部件的一部分。

0

如果您的解决方案是Farm解决方案,SharePoint将重新启动应用程序池以重新加载您的程序集。

完全删除此重新启动的唯一方法是使用沙盒解决方案。这并非总是可能,但取决于您的定制类型,这可能是一个答案。

另一种解决方案是只有一个包含所有Web部件的解决方案。您仍然需要重新启动应用程序池,但应该不到一分钟。
12分钟真的很多!

编辑:
要合并的水安全计划,你必须到Visual Studio项目合并成一个。也可以手工完成,但从长远来看这不是一个好的选择。

+0

如何从所有wsp创建一个wsp? – Josh 2010-08-13 15:16:05