BITS仍然是一个很好的后台更新技术吗?

时间:2008-11-19 16:55:33

标签: background-process microsoft-bits

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

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

我已经广泛地研究了BITS,即使我没有看到迄今为止使用该技术的API,我已经看到了一些示例代码并相信我可以使它工作。

但这是处理数据库“背景更新”的最佳方法,还是有其他解决方案/方法?

3 个答案:

答案 0 :(得分:8)

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

关于BITS的信息:

About BITS

BITS Reference

Background Intelligent Transfer Service, From Wikipedia

答案 1 :(得分:1)

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

答案 2 :(得分:0)

这真的感觉你应该考虑使用Sync Framework http://msdn.microsoft.com/en-us/sync/bb736753.aspx而不是BITS。