Pregunta

Una de mis aplicaciones de hobby usa un back-end SQLite para almacenar los datos de la aplicación. La aplicación está configurada para que el usuario pueda hacer clic en el típico " Buscar actualizaciones " botón, que consultará un servicio web para ver si hay una actualización disponible. Si es así, el usuario hace clic en "actualizar" botón y descarga una nueva base de datos (a través de HTTP) que luego se instala en la aplicación. Este proceso es actualmente "modal" en que el usuario no puede hacer nada más en la aplicación hasta que la descarga y la instalación se hayan completado.

Estoy trabajando para actualizar la aplicación, y una cosa que quiero que suceda es que este proceso de actualización ocurra detrás de escena, al igual que Windows Update. Cuando se inicia la aplicación, se consultará el servicio y, si hay una actualización disponible, se descargará automáticamente, pero en segundo plano para que el usuario pueda continuar haciendo su trabajo. Una vez que se complete la descarga, se le solicitará al usuario que instale la actualización.

He investigado ampliamente BITS , y aunque no hay API que haya visto hasta la fecha para aprovechar la tecnología, he visto algunos códigos de muestra y creo que puedo hacer que funcione.

Pero, ¿es esta la mejor opción para acercarse a una "actualización en segundo plano"? para una biblioteca de datos, o hay otras soluciones / enfoques por ahí?

¿Fue útil?

Solución

Si solo está ejecutando en MS Windows, y sus clientes están usando una versión lo suficientemente nueva del sistema operativo para soportar BITS, entonces creo que ciertamente debería aprovechar la funcionalidad ya integrada en la plataforma, en lugar de hacer lo que todos los demás lo hace y escribe su propio comprobador de actualizaciones en segundo plano que se encuentra en el área de notificación de mi barra de tareas y utiliza los recursos del sistema innecesariamente.

En cuanto a la información sobre BITS:

Acerca de BITS

Referencia de BITS

Servicio de transferencia inteligente en segundo plano, de Wikipedia

Otros consejos

Soy el primer ministro del equipo BITS en Windows: sí, la tecnología BITS es una buena opción para muchas veces cuando necesita descargar (o cargar) datos de una manera amigable para el usuario. BITS intenta tener cuidado al acaparar el ancho de banda de la red, el estado actual de la energía y los costos de la red, y volverá a intentar automáticamente las descargas en caso de falla. También acabamos de crear un nuevo programa BITS Manager de muestra en GitHub para todos los que programan en C # y .NET!

Esto realmente parece que debería considerar Sync Framework http: // msdn. microsoft.com/en-us/sync/bb736753.aspx en lugar de BITS.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top