Is BITS a good background refresh technology?

One of my hobby apps uses SQLite back end to store application data. The application is configured so that the user can click the typical “Check for Updates” button, which the web service will ask to see if the update is available. If so, the user clicks the Refresh button and downloads the new database (via HTTP), which is then installed into the application. This process is currently “modal” in that the user cannot do anything in the application until the download and installation are complete.

I am working on updating the application, and one thing I want to do is to start this update process behind the scenes, as well as Windows Update. When the application starts, the service will be requested, and if the update is available, it will be automatically downloaded, but in the background so that the user can continue to do their work. After the download is complete, the user will be prompted to install the update.

I have extensively reviewed BITS , and even though there are no APIs that I saw to use the technology, I saw some sample code and I believe that I can make it work.

But is this best suited for “background updating” for a data library, or are there any other solutions / approaches there?

+4
source share
3 answers

If you work only with MS Windows, and your clients use the new version of the operating system to support BITS, then I think that you should use the functionality already built into the platform, and not do what everyone else does and writes your own background update controller , which is in my taskbar notification area and unnecessarily uses system resources.

Regarding the BITS information:

About BITS

BITS Link

Background Intelligent Transfer Service, from Wikipedia

+8
source

It really looks like you should consider the Sync Framework http://msdn.microsoft.com/en-us/sync/bb736753.aspx , not BITS.

0
source

I am the leader of the BITS group on Windows - yes, BITS technology is suitable for those cases when you need to load (or load) data in a user-friendly way. BITS strives to monitor network bandwidth, current power status, and network costs and automatically retries the download in the event of a failure. We also just created a new example of the BITS Manager program on GitHub for everyone who programs in C # and .NET!

0
source

All Articles