Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.Net应用程序自更新_Asp.net - Fatal编程技术网

ASP.Net应用程序自更新

ASP.Net应用程序自更新,asp.net,Asp.net,我正在尝试从内部更新现有的asp.net web应用程序。我们有很多不同的客户机使用应用程序,它们都具有不同的连接字符串,因此它不能只是一个简单的部署 我目前正在部署到文件系统,压缩和上传(不带web.config),客户端相应地下载和提取。我不喜欢这样,因为它需要在服务器上或创建应用程序共享 因此,我在应用程序中创建了一个signarhub,用于下载文件并将其解压缩。这是可行的,但当页面开始提取信息时,它会停止从中心获取信息,这显然是因为应用程序正在重新启动 有没有一种方法可以让它在应用程序中

我正在尝试从内部更新现有的asp.net web应用程序。我们有很多不同的客户机使用应用程序,它们都具有不同的连接字符串,因此它不能只是一个简单的部署

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

因此,我在应用程序中创建了一个signarhub,用于下载文件并将其解压缩。这是可行的,但当页面开始提取信息时,它会停止从中心获取信息,这显然是因为应用程序正在重新启动

有没有一种方法可以让它在应用程序中工作并报告它的进度,我不想使用任何外部的东西,如果我可以帮助它,我只想更新它,就像你从内部更新Wordpress一样


编辑:我只想指出我使用了一个中心,这样我就可以显示压缩文件下载百分比的实时进度和提取进度。

我们有一个基于这个想法的定制系统

诀窍是使用一个单独的应用程序进行更新。应用程序公开一个web服务,该服务接受包含应用程序部署文件的签名请求。然后,请求存储在本地队列中,并由以下服务处理:

  • 停止应用程序池
  • 打开新版本的拉链
  • 使用本地存储的属性重写配置模板文件
  • 启动应用程序池并在出现任何问题时进行ping
  • 我们的主办公室需要的是一个新版本的应用程序,然后分发到世界各地(目前大约20个)。没什么大问题


    分发子系统是几年前在内部开发的,它是基于.net的,因为我们当时还没有找到任何能够满足我们需求的东西。从那以后,我们再也没有尝试过搜索任何第三方工具来做同样的事情。

    尽管尝试了几件事,但我还是无法实现这一点,因此我创建了一个控制台应用程序,为每个客户机修改了一个配置文件,他们可以自己运行,甚至可以将其添加为一个计划任务,看起来效果相当不错嗯。

    我不想使用单独的应用程序,但谢谢。此外,我需要客户端请求更新,因为我们可能没有权限将更新推送到客户端,因为某些客户端限制外部访问。一旦更新应用程序文件,它将无条件重新启动。我认为这使得自我更新变得不可能。