我们公司在我们客户端的 Windows Server 2008 IIS 7 Web 服务器上发布我们的富客户端应用程序(主要使用 ASP.NET、WCF 服务和 ASP.NET AJAX 编写)的更新。有时,我们会发布大量更新。有时,用户会在发布后立即发现在自动化测试或阶段测试期间未发现的错误。有没有一种方法可以在用户仍在使用时在 IIS 7 上顺利部署 ASP.NET 代码,而不会中断包含未受影响代码的工作流?我发现如果我只是手动从阶段(没有 web.config)复制代码,并将其粘贴到生产网络根文件夹中,没有人真正被踢掉。但我想知道这种策略对于在应用程序中勤奋工作的用户是否有任何副作用。一世' 我只是想知道是否有任何其他连接可能会被中断,或者在这种情况下如何处理它们(即:SQL 连接、WCF 服务调用、它们是否保持相同的会话以及是否会产生任何影响等)?如果我选择了这种方法,我会在 web.config 中有一些东西会向每个用户(在母版页中)显示一条消息——比如横幅,上面写着“请注销并清除缓存”,所以他们将看到已解决问题的更新。但这仅与受影响的用户有关。配置将向每个用户(在母版页中)显示一条消息——就像一个横幅,上面写着“请注销并清除缓存”,这样他们就会看到已解决问题的更新。但这仅与受影响的用户有关。配置将向每个用户(在母版页中)显示一条消息——就像一个横幅,上面写着“请注销并清除缓存”,这样他们就会看到已解决问题的更新。但这仅与受影响的用户有关。
如果有人认为这不是小更新的好策略,并且有更好的策略,例如更改 web.config 设置,强制用户在部署时使用不同的服务器或其他东西。或者其他一些方法,我的耳朵在听。显然后者听起来更安全,但我只是不知道如何做到这一点。我读过负载平衡服务器,但我认为这种类型的服务器设置是为了不同的目的而完成的,比如如果服务器出现故障,不是吗?或者,当您关闭一个站点时,这会是最佳解决方案吗?我欢迎任何想法。