代码之家  ›  专栏  ›  技术社区  ›  Brian

自动更新Web应用

  •  3
  • Brian  · 技术社区  · 16 年前

    我有一个小的web应用(Mvc),我需要定期更新(没有ftp或其他访问)。

    我想从“超级超级超级管理员”页面直接在应用程序中我可以旋转更新过程。

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

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

    • 停止iis服务(不是必需的)
    • 通过安全的url下载应用程序的最新版本(zip文件)
    • 将压缩后的旧web应用程序备份到服务器上的目录中(c:\ backups\v1_.zip)
    • 在web应用程序的目录中解压缩下载的zip文件
    • 重新启动iis
    • (最终能够还原进程)

    像这样的东西已经存在了吗?

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

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

    1 回复  |  直到 16 年前
        1
  •  1
  •   SecretDeveloper    16 年前

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