4

我的一个爱好应用程序使用 SQLite 后端来存储应用程序数据。该应用程序已设置,以便用户可以单击典型的“检查更新”按钮,该按钮将查询 Web 服务以查看是否有可用更新。如果是,用户单击“更新”按钮并下载新数据库(通过 HTTP),然后将其安装在应用程序中。这个过程目前是“模态的”,因为在下载和安装完成之前,用户不能在应用程序中做任何其他事情。

我正在更新应用程序,我想做的一件事是让这个更新过程发生在幕后,比如 Windows 更新。当应用程序启动时,将查询服务,如果有可用更新,它会自动下载,但在后台,以便用户可以继续工作。下载完成后,系统会提示用户安装更新。

我对BITS进行了广泛的研究,尽管迄今为止我还没有看到任何 API 可以利用该技术,但我已经看到了一些示例代码,并且相信我可以让它工作。

但这是为数据库进行“背景更新”的最佳方法,还是有其他一些解决方案/方法?

4

3 回答 3

8

如果您只在 MS Windows 上运行,并且您的客户正在使用足够新的操作系统版本来支持 BITS,那么我认为您当然应该利用平台中已经内置的功能,而不是像其他人一样做和编写您自己的后台更新检查器,它位于我的任务栏通知区域并不必要地使用系统资源。

关于BITS的信息:

关于比特

BITS 参考

后台智能传输服务,来自维基百科

于 2008-11-19T19:03:44.350 回答
1

我是 Windows 中 BITS 团队的 PM —— 是的,当您需要以对用户友好的方式下载(或上传)数据时,BITS 技术非常适合很多时候。BITS 会尽量小心占用网络带宽、当前电源状态和网络成本,并且会在失败时自动重试下载。我们还在 GitHub 上为使​​用 C# 和 .NET 编程的每个人创建了一个新的示例BITS Manager程序!

于 2019-01-08T23:42:40.527 回答
0

这真的感觉你应该考虑同步框架http://msdn.microsoft.com/en-us/sync/bb736753.aspx而不是 BITS。

于 2012-06-18T12:07:59.637 回答