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