我们的项目中有wsps。但是每当部署wsp时,“服务不可用”页面就会出现在站点级别。 是否有任何方法可以在GAC中添加少量Dll而不会在生产服务器中停机?
答案 0 :(得分:0)
实际上答案不是。使用WSP进行部署时,将触发重置,以便重新加载最新的dll并清除应用程序池中的内存。
因此,任何与服务器端代码相关的内容都需要重置。
如果您更新了配置单元中的任何内容,则可以实现零停机部署。
关于何时需要IISReset
,有更深入的答案here干杯 Truez
答案 1 :(得分:0)
技术上可以进行本地部署并自行进行。 Install-SPSolution提供本地交换机。您理论上可以使用它并控制部署的轮换(假设有多个服务器)。但如上所述,要让IIS重新加载程序集,需要循环应用程序池。程序集从GAC加载,但随后是内存驻留。
https://blog.ithinksharepoint.com/2012/07/16/deploying-sharepoint-wsp-solutions-without-downtime/
我已经尝试了几次并且没有取得很大的成功,所以你的里程可能会有所不同。
如果您依赖GACed程序集,您可以在技术上将自己推送到WSP之外。但是,由于可能发生以下情况,您可能会陷入一个奇怪的地方: 1)您从所有服务器收回Web应用程序(这也将撤回解决方案)。您可能最终在GAC中没有任何内容或孤立的程序集 2)稍后添加服务器并获取部署包,并且服务器中的服务器具有不同的位集。对任何人进行故障排除都很痛苦。想象一下,如果你离开? 3)部署程序集,它的版本与web.config期望的版本不同,无法使用或找到。