Asp.Net MVC Web部署中的临时文件上载位置

时间:2014-04-28 20:43:53

标签: asp.net asp.net-mvc asp.net-mvc-5 web-deployment microsoft-web-deploy

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

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

2 个答案:

答案 0 :(得分:0)

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

如果两者都在同一个应用程序池中,并且如果需要(how to: Configure SQL Server to Store ASP.NET Session State),甚至可以使用会话,则效果很好。

我从来没有这样做过,对于实际上最短的停机时间来说似乎有点复杂,但它是单向的。

答案 1 :(得分:0)

以下是我们在拥有4个网络服务器的高流量网站上使用的解决方案。

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

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

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