Background Intelligent Transfer Service

Вы все еще не знаете, как лучше организовать передачу файлов по сети на компьютеры под управлением Windows? Тогда вам сюда!

Background Intelligent Transfer Service (BITS) – служба ОС Windows, которая может передавать файлы в фоновом режиме. Она используется, в основном, для Windows Update.

Какой же интерес BITS представляет для разработчиков?

1. Возможность закачки файлов в фоновом режиме, незаметно для пользователя

2. Высокий уровень отказоустойчивости. Если сетевой кабель перерубят, или комп выпадет в «синий экран», то BITS докачает файлы, как только это станет возможно.

3. Intelligent ‑ сказано не зря. Если пользователь в данный момент ничего не качает и комп простаивает, BITS воспользуется освободившимися ресурсами. Эту фичу можно использовать, назначая различные приоритеты закачек.

Работать с BITS можно через специальный API(http://msdn.microsoft.com/en-us/library/aa363160%28v=vs.85%29.aspx)

В своем проекте я использовал удобную, вполне рабочую «обертку» для .NET( http://sharpbits.codeplex.com/). Так же существует http://bitsdownloadmgr.codeplex.com/.

Ключевым объектом BITS является Job (не надо дословного перевода, назовем это «закачкой»).

Жизненный цикл «закачки» следующий:

1. Создание Job. Указываем название, описание, тип (Upload\Download) и приоритет

2. Добавление файлов. Job может содержать несколько файлов, если выбран тип Download.

3. Подписываемся на события закачки, если необходимо отслеживать прогресс в реальном времени.

4. Запуск закачки. Далее BITS все делает сам.

Важной особенностью BITS является то, что создать закачку может только пользователь, совершивший вход в систему, либо системная учетная запись. Тем, кто собирается использовать BITS, советую не забывать об этом.

Я сознательно не привожу примеров кода, они есть здесь и здесь (http://bitsdownloadmgr.codeplex.com/).

Last edited Sep 14, 2011 at 2:55 PM by dohly, version 2

Comments

No comments yet.