【发布时间】:2026-01-26 11:40:02
【问题描述】:
我为我的一个应用程序创建了一个自动应用程序更新程序。这是一个两部分的应用程序。第一部分是版本检查器和更新下载器。第二部分安装下载的更新(以便更新程序可以自我更新)。
这在独立应用程序上运行良好。他们拥有更新程序的快捷方式,而不是用户拥有应用程序的快捷方式。如果更新程序找到更新,则下载、安装更新,然后重新启动更新程序。如果未找到更新,则启动用户所需的应用程序。
我现在需要为客户端\服务器应用程序创建更新过程。客户端仍然可以使用与上述相同的过程。但是,服务器不能,因为某些需要更新的文件可能正在被客户端使用。我已经考虑了几天了,只提出了两个想法,我都不喜欢。
第一个想法是最简单的,在服务器重新启动时(在客户端连接之前)运行服务器更新。我知道服务器每天至少会在午夜左右重新启动一次。重新启动将硬断开所有仍连接的客户端,因此文件不应再使用。
第二个想法是在需要更新时在服务器上创建某种繁忙标志。当忙标志存在时,客户端不能运行。我看到的问题是检查标志。客户端可以在服务器设置标志的同时检查。
我应该如何进行?您将如何实施服务器更新?想法、cmets、问题?
【问题讨论】:
标签: .net client-server auto-update