0

我使用 Visual Studio 2013 的“发布”和 Web 部署来发布我的 Asp.Net MVC 5 网站。但是,当我更新我的网站时,它在上传期间将不起作用。我正在寻找一种方法来最大限度地减少更新期间网站的停机时间。该网站在 VPS 中运行,我可以完全访问它。我想到的一个解决方案是将 Web Deploy 配置为首先将上传的文件放入临时文件夹,上传完成后,它应该替换新文件。这将使更新在几秒钟内达到顶峰。我可以手动执行此操作,但这不是更新网站的优雅方式。

PS:也许有更好的方法来更新网站,但到目前为止我喜欢网络部署。例如,它比 FTP 快得多。

4

2 回答 2

0

我见过的最有趣的事情之一是拥有两个网站。一次只有一个在运行。完成上传后,您禁用活动的,并启用您上传的。

如果两者都在同一个应用程序池中,甚至可以与会话一起使用(如何:配置 SQL Server 以存储 ASP.NET 会话状态),这将很有效。

我从来没有这样做过,对于实际存在的最短停机时间来说似乎有点复杂,但这是一种方式。

于 2014-04-28T20:50:47.263 回答
0

这是我们在具有 4 个 Web 服务器的高流量网站上使用的解决方案。

1) 文件被移动到服务器的 /site/version-xxx 2) IIS Web 应用程序重新指向新版本。

所有这些都是自动化的,并在 Web 服务器之间同步。最终用户不会注意到任何差异。(我们不依赖会话来保持用户体验,如果会话对您来说是必须的并且您不想中断它们,那么您需要考虑将它们存储在外部系统上,当网站被重新指向)。

这种方法还允许我们回滚到任何以前的版本。

于 2014-04-28T20:52:10.683 回答