Является ли BITS хорошей технологией фонового обновления?

Одно из моих хобби-приложений использует SQLite для хранения данных приложения. Приложение настроено так, что пользователь может нажать обычную кнопку "Проверить наличие обновлений", которая запросит веб-сервис, чтобы узнать, доступно ли обновление. Если это так, пользователь нажимает кнопку "обновить" и загружает новую базу данных (через HTTP), которая затем устанавливается в приложении. Этот процесс в настоящее время является "модальным" в том смысле, что пользователь не может делать что-либо еще в приложении до завершения загрузки и установки.

Я работаю над обновлением приложения, и я хочу, чтобы этот процесс обновления происходил за кулисами, например, Центр обновления Windows. Когда приложение запускается, сервис запрашивается, и если доступно обновление, оно будет автоматически загружаться, но в фоновом режиме, чтобы пользователь мог продолжать выполнять свою работу. После завершения загрузки пользователю будет предложено установить обновление.

Я подробно изучил BITS, и хотя на сегодняшний день я не видел API-интерфейсов, которые могли бы использовать эту технологию, я видел некоторый пример кода и уверен, что смогу заставить его работать.

Но лучше ли подходить к "фоновому обновлению" библиотеки данных или есть какие-то другие решения / подходы?

3 ответа

Решение

Если вы работаете только в MS Windows, и ваши клиенты используют достаточно новую версию операционной системы для поддержки BITS, то я думаю, что вам, безусловно, следует использовать функциональность, уже встроенную в платформу, а не делать то, что делают все остальные, и писать свой собственный фоновый модуль проверки обновлений, который находится в моей области уведомлений панели задач и использует системные ресурсы без необходимости.

Что касается информации о битах:

О битах

БИТ Ссылка

Фоновая интеллектуальная служба передачи, из Википедии

Я - руководитель группы BITS в Windows - да, технология BITS подходит для тех случаев, когда вам нужно загружать (или загружать) данные удобным для пользователя способом. BITS старается следить за пропускной способностью сети, текущим состоянием питания и сетевыми затратами и автоматически повторяет загрузку при сбое. Мы также только что создали новый пример программы BITS Manager на GitHub для всех, кто программирует на C# и.NET!

Такое ощущение, что вам следует подумать о Sync Framework http://msdn.microsoft.com/en-us/sync/bb736753.aspx а не о BITS.

Другие вопросы по тегам