动态更新asp.net应用程序

时间:2013-07-25 05:37:56

标签: asp.net

如何从中心位置更新asp.net应用程序。我想将最终更新发布到一个中心位置,并让所有站点从该中心位置下载最新更新。

它就像你的wordpress网站获得最新版本的文字新闻,雅虎要求用户迁移到最新版本。

3 个答案:

答案 0 :(得分:1)

您可以使用自己购买的工具,也可以尝试编写自己的脚本。为自己写这些并不难。

我知道Octopus DeployRedgate Deployment Manager的工具(RedGate购买了Octopus的资源,现在作为自己的项目进行销售,并带有一些修改/附加功能)。使用这些工具,您可以在目标服务器上安装其代理,以便能够将新版本的网站部署到这些服务器。八达通适用于推拉模式。我不了解Deployment Manager。

在我的工作中,我使用配置为Jenkins个作业的自编脚本进行发布。单击并安装新版本。这是一次“推送”更新。

请记住,为了在没有用户注意的情况下更新网站(没有技术中断),您至少需要两台服务器和负载均衡器以及共享状态服务。在部署之前,您需要重新配置Load Balancer,以便将所有请求路由到一台服务器。然后更新该服务器。现在重新配置Load Balancer,以便它将所有请求路由到更新的服务器,并更新另一个。更新所有服务器后,再次重新配置Load Balancer,以便将请求路由到所有服务器。

答案 1 :(得分:0)

主要有两种方法:

第一个是“推送”更新,这样当您上传新版本时,它将联系每个网站(例如向触发器URI发送请求),导致每个网站下载并安装您的更新'提供。这将需要您的中央更新站点维护站点数据库以通知更新。

第二个是让网站的代码包括一个检查(在一个单独的线程上,因此它不会阻止任何页面请求)它自上次检查更新以来已经n天,并且如果是这样,请与您的中央服务器核实更新,如果适用,请下载并解决。这种方法意味着您的中央服务器不需要知道消费站点,反之亦然。

答案 2 :(得分:0)

最近我做了同样的事情。但在我的方法中,应用程序不会要求用户下载最新版本。它直接下载最新版本。我做了什么:

  1. 在您的应用程序中创建Web服务。这将接收数据并直接更新数据库或项目的任何其他部分。
  2. 2.然后,您必须创建一个将安装在您的服务器上的Windows应用程序。 它会在客户端计算机中使用应用程序的Web服务。现在只需在你的win应用程序中编写一个调度程序,它将每晚或任何你想要的东西启动。无论何时启动,它都会调用所有服务并向其发送更新的数据。您的服务将收到此信息并更新应用程序。

    让我知道,它是否有帮助