1 сентября 2011 в 19:46

Background Intelligent Transfer Service из песочницы

Вы все еще не знаете, как лучше организовать передачу файлов по сети на компьютеры под управлением 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, советую не забывать об этом.

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

Для дополнительного ознакомления есть замечательная статья на английском.
@dohly
карма
4,0
рейтинг 0,0
Самое читаемое

Комментарии (8)

  • +3
    Остается добавить, что BITS 4.0 включен в дистрибутивы Windows 7 и Windows Server 2008 R2.

    А так же BITS 4.0 можно скачать для Windows Server 2008 with Service Pack 2 (SP2), Windows Vista with Service Pack 1 (SP1), и Windows Vista with Service Pack 2 (SP2).

    З.Ы. было бы не плохо поправить ссылку на замечательную статью на английском
    • 0
      Поправил ссылку
  • 0
    Главный минус BITS в том, что его уже как пару лет активно используют вирусы/трояны/лоадеры для скрытого получения/передачи данных в обход фаеров. И именно по этому в настоящее время COM объект BITS'а под присмотром антивирусов и прочих проактивок. И именно по этому большинство антивирусов будут ругаться на данный метод сильнее чем на простую сетевую активность.
  • 0
    Не раз BITS выручал, особенно это касается работы в федеральных сетях, где до сих пор связь зависит от множества факторов.
  • 0
    После установки Windows первым делом отключаю BITS. Я должен контролировать трафик.
    • +2
      Кому должны-то?
    • 0
      Я давно не отключаю (в Вин2000 отключал, опасался).
      Минусов от отключения больше, чем плюсов.
    • +2
      Рекомендую вторым делом отключать сетевой интерфейс, а третьим — кабель питания. Таким образом может быть достигнута максимальная степень контроля.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.