Background Intelligent Transfer Service

You still don’t know what is the best way to organize file transfer over the network to Windows computers? Then to you here!

Background Intelligent Transfer Service (BITS) is a Windows OS service that can transfer files in the background. It is used mainly for Windows Update.

What is the interest of BITS for developers?

1. The ability to download files in the background, invisible to the user
2. High level of fault tolerance. If the network cable is cut off, or the computer falls into the blue screen, then BITS will download the files as soon as possible.
3. Intelligent said not in vain. If the user does not download anything at the moment and the computer is idle, BITS will use the freed resources. This feature can be used by assigning different download priorities.


You can work with BITS through a special API.

In my project I used a convenient, quite working “wrapper” for .NET . There is also one more .

The key object of BITS is Job (no literal translation needed, let's call it “download”).
The life cycle of the “download” is as follows:

1. Creating a Job. We indicate the name, description, type (Upload \ Download) and priority

2. Adding files. Job may contain several files if the Download type is selected.

3. Subscribe to download events, if you need to track progress in real time.

4. Starting the download. Further BITS does everything himself.

An important feature of BITS is that only the user who has logged on to the system or the system account can create a download. Those who are going to use BITS, I advise you not to forget about it.

I deliberately do not give code examples, they are here and here .

For additional information, there is a wonderful article in English .

Also popular now: