3

我有一个需要定期更新的小型 Web 应用程序 (Mvc)(没有 ftp 或其他访问权限)。

我希望直接在应用程序中的“Super Ultra Mega administratior”页面中启动更新过程。

我知道这不是最好的安全方法,但我可以接受它,并且我想避免一个永久服务,当这不是真的需要时,它会不断地 ping 一个新版本。

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

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

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

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

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

4

1 回答 1

1

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

于 2010-01-18T15:03:43.540 回答