Как стать автором
Обновить

Background Intelligent Transfer Service

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

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

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

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


Работать с BITS можно через специальный API

В своем проекте я использовал удобную, вполне рабочую «обертку» для .NET. Так же существует еще одна.

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

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

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

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

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

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

Я сознательно не привожу примеров кода, они есть здесь и здесь.

Для дополнительного ознакомления есть замечательная статья на английском.
Теги:
Хабы:
+20
Комментарии 8
Комментарии Комментарии 8

Публикации

Истории

Работа

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн