【问题标题】:Is there a framework that works the way like updating a virus definition database?是否有像更新病毒定义数据库一样工作的框架?
【发布时间】:2026-01-09 11:30:02
【问题描述】:

我的分布式程序需要更新几个文件,我希望它像那些杀毒软件更新病毒定义数据库那样工作,有这样的框架吗?

编辑

  1. 我不会更新应用程序本身。
  2. 更新完成后,应用程序可能需要重新启动。
  3. 将打开服务器以进行更新查询和下载。

【问题讨论】:

  • +1 如果有这样的工具,那就太好了。
  • 您是否尝试过查看例如的来源? ClamAV 看看它们是如何工作的,它是一个“框架”还是只是一个简单的东西?

标签: c# .net


【解决方案1】:

这实际上取决于您的数据的格式。如果您在文本文件中保留一个简单的本地存储,那么只需打开服务器并检查是否有新版本的文件。如果您将内容保存在本地 SQL 存储中,那么您可以使用 Web 服务来确保本地存储具有最新的条目。我认为该选项是您正在寻找的,而且它真的很容易编写。但是,如果您希望更新应用程序,那么ClickOnce 之类的内容可能是理想的选择。

回应您的修改 基本上,您必须构建应用程序以从信息文件中读取所有信息,并为这些文件提供一些元信息,例如“版本号”或类似的东西。然后,您有一个 ASP.NET Web 服务,它有两个功能:一是获取最新版本的信息文件,二是下载从一个版本修补到当前版本所需的更新。因此,应用程序会间歇性地检查服务器以查看是否有比他们拥有的版本更新的版本。如果有更新的,那么它会向服务器询问获得最新版本所需的补丁文件。如果您在应用程序实际启动之前执行此操作(例如 Firefox),用户甚至不必注意到应用程序正在重新启动。

【讨论】:

    【解决方案2】:

    据我所知,我不知道有这样的框架。然而,神奇的事情是由在 HTTP 或 FTP 位置寻找更新的 Web 服务或 Windows 服务完成的。您可能会自己编写一个代码来启动您随更新部署的脚本。

    也许这会有所帮助:Loading Assemblies。简而言之,这就是插件插入应用程序的方式,使用代理等。

    正如@Travis G 所说,ClickOnce 非常适合应用程序。只是方法不同! =)

    【讨论】: