在工作中,对于繁忙的 ASP.NET MVC 网站的零停机部署,我们有一个相当不错的流程。有两个服务器组,因此我们可以转移流量,我们编写 db SP 以向后兼容并提前推出它们。一般来说,它运作良好。
然而,一个问题刚刚让我绊倒了。上次部署包括大量代码命名空间更改。
部署构建时,它破坏了现有的用户会话,因为处于其会话状态的对象不再存在于新的代码库中,例如,他们的会话包含 App_Code.UserDetails 并且站点现在有一个 XYZUserDetails 类
我理解这个问题以及它发生的原因,但我无法解决的是除了完全关闭网站以确保网站上没有活跃用户之外,是否还有什么可以做的。或者可能重新启动状态服务,以便每个人都被启动并必须再次登录。有什么想法吗?