2013-04-18 62 views
1

我想从现有的asp.net web应用程序更新。我们有很多不同的客户端使用不同的连接字符串,所以它不能只是一个简单的部署。ASP.Net应用程序自我更新

我目前部署于文件系统,压缩和解和上传(没有web.config文件)和客户端下载,并相应地提取。我不喜欢这个,因为它需要在服务器上或创建一个共享应用程序。

所以我在其中下载文件,并解压它的应用程序创建一个signalR枢纽。这可以工作,但页面停止从中心获取信息时,它显然开始提取,因为应用程序正在重新启动我猜。

有没有办法让它在应用程序中工作并报告它的进度,我不想在外部使用任何东西,如果我可以帮助它我只是想更新它,就像你会更新从本身内部的WordPress例如。

编辑:只是想指出,我使用的轮毂,所以我可以百分之显示下载的压缩文件,并提取进步的活进展。

回答

0

尽管尝试几件事情我不能得到这个工作,所以不是我创建了修订,为每个客户端,他们可以运行自己,甚至添加为这似乎计划任务的配置文件中的控制台应用程序要美化工作了好。

2

我们有一个基于这个想法的自定义系统。

诀窍是要有更新单独的应用程序。该应用程序公开了一个接受包含应用程序部署文件的签名请求的Web服务。然后,请求被存储在本地队列中,并通过该服务处理:

  1. 停止使用本地存储的性能
  2. 应用程序池
  3. 解压新版本
  4. 重新写入配置模板文件,启动应用程序游泳池和任何问题的情况下回来

然后我们需要在我们的主要办公室是一个新版本的应用程序,然后分配到周围的所有地点(目前大约20)。没有大问题。

发布子系统已经内部开发年前是基于.NET只是因为我们还没有发现任何这将符合我们当时的要求。从那以后,我们还没有试图搜索任何可以做同样的事情的第三方工具。

+0

我不想使用单独的应用程序,但谢谢。此外,我需要客户端请求更新,因为我们可能无法访问更新,因为有些限制外部访问。 – user1166905

+1

只要您更新应用程序文件,它将无条件重新启动。我认为这让自我更新变得不可能。 –