Pergunta

Uma das minhas aplicações passatempo usa um back-end SQLite para armazenar os dados do aplicativo. O aplicativo é configurado de modo que o usuário pode clicar no botão "Check for Updates" típico botão, que irá consultar um webservice para ver se uma atualização está disponível. Se for, o usuário clica no botão "update" e faz download de um novo banco de dados (via HTTP), que, em seguida, é instalado na aplicação. Este processo é atualmente "modal" em que o usuário não pode fazer qualquer outra coisa na aplicação até que o download e instalar estão completos.

Eu estou trabalhando na atualização do aplicativo, e uma coisa que eu quero fazer acontecer é ter esse processo de atualização ocorre nos bastidores, ala Windows Update. Quando o aplicativo é acionado, o serviço seria consultado, e se uma atualização estiver disponível, ele será automaticamente baixado, mas em segundo plano para que o usuário pode continuar a fazer o seu trabalho. Uma vez que o download estiver concluído, o usuário será solicitado a instalar a atualização.

Eu olhei extensivamente em BITS , e mesmo que não existem APIs que eu vi até agora para alavancar a tecnologia, tenho visto alguns exemplos de código e acredito que posso fazê-lo funcionar.

Mas isso é o melhor longe para se aproximar de um "update fundo" para uma biblioteca de dados, ou há algumas outras soluções / abordagens lá fora?

Foi útil?

Solução

Se você só estão em execução no MS Windows, e seus clientes estão usando uma nova versão suficiente do sistema operacional para BITS apoio, então eu acho que certamente você deve aproveitar a funcionalidade já construído na plataforma, ao invés de fazer o que todo mundo faz e escrever seu próprio verificador de atualização de fundo que se senta na minha barra de tarefas recursos da área de notificação e sistema usa desnecessariamente.

Como para obter informações sobre o BITS:

Sobre BITS

bits de referência

Background Intelligent Transfer Service, De Wikipedia

Outras dicas

Eu sou o PM para a equipe BITS no Windows - sim, a tecnologia BITS é um bom ajuste para os lotes de momentos em que você precisa para download (ou upload) de dados de uma forma que é amigável para o usuário. BITS tenta ser cuidadoso sobre monopolizando a largura de banda de rede, o status de energia atual, e os custos de rede e tentará automaticamente downloads no fracasso. Nós também acabou de criar um novo programa BITS Gestor amostra no GitHub para todos que programas em C # e .NET!

Este realmente se sente como você deve considerar Sync Framework http: // MSDN. microsoft.com/en-us/sync/bb736753.aspx em vez de BITS.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top