自动更新Web应用程序

时间:2010-01-18 14:29:15

标签: asp.net-mvc deployment auto-update

我有一个小型网络应用程序(Mvc),我需要定期更新(没有ftp或其他访问)。

我希望通过应用程序中的“Super Ultra Mega administratior”页面,我可以启动更新过程。

我知道这不是最好的安全方法,但我可以忍受它,我想避免一个永久性的服务,如果不是真的有必要继续ping新版本。

我现在想的是拥有一个具有正确写入权限凭证的Windows服务,可以从安全网页调用:

  • 停止iis服务(不严格要求)
  • 通过安全网址下载最新版本的应用程序(zip文件)
  • 在dir中备份服务器上的压缩旧Web应用程序(c:\ backups \ v1_01102010.zip)
  • 在Web应用程序的目录中解压缩下载的zip文件
  • 重启iis
  • (最终能够恢复过程)

这样的事情是否已经存在?

我见过.net的一堆自动更新程序主要针对winform或桌面应用程序,这对于这个简单的过程来说似乎太复杂了。

我不需要编写或修改注册表,只需在没有用户交互的情况下自动执行zip提取。

1 个答案:

答案 0 :(得分:1)

好吧,如果你要编写一个Web服务,那么让它来处理文件的压缩和解压缩不应该太困难。您可以在c#(http://www.icsharpcode.net/OpenSource/SharpZipLib/)中使用zip库。可以使用ServiceController类(http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontroller.aspx

完成停止和启动IIS