Coherencia de transferencia de archivos
BITS garantiza que la versión del archivo que transfiere es coherente en función del tamaño del archivo y la marca de tiempo, no del contenido (BITS no protege contra ataques de tipo "man in the middle"). Para comprobar el contenido usted mismo, puede usar el método IBackgroundCopyFile3::GetTemporaryName para obtener el nombre del archivo que contiene el contenido descargado, comprobar el contenido mediante su propio mecanismo y, a continuación, llamar al método IBackgroundCopyFile3::SetValidationState para indicar a BITS si el contenido del archivo es válido. Si establece el estado de validación en FALSE y el contenido procede del servidor de origen, el trabajo entra en el estado de error. Si el contenido es de un mismo nivel, BITS descarga el archivo desde el servidor de origen.
En el caso de las descargas, si cambia el tamaño del archivo o la marca de tiempo mientras BITS transfiere el archivo, BITS reinicia la transferencia de ese archivo solo. Por ejemplo, si el trabajo de descarga contiene dos archivos y los archivos se actualizan en el servidor mientras BITS transfiere el segundo archivo, BITS reinicia solo la transferencia del segundo archivo. El primer archivo, que ya se ha transferido correctamente, no se actualiza para reflejar los nuevos cambios.
Tenga en cuenta que si posee el archivo que se va a descargar del servidor, debe crear una nueva dirección URL para cada nueva versión del archivo. Si usa la misma dirección URL para las nuevas versiones del archivo, algunos servidores proxy pueden servir datos obsoletos de su memoria caché porque no comprueban con el servidor original si el archivo está obsoleto.
En el caso de las cargas, si el tamaño del archivo o la marca de tiempo cambian durante la transferencia de archivos, BITS genera un error y el trabajo se coloca en el estado BG_JOB_STATE_ERROR.
BITS no sincroniza las solicitudes de transferencia cuando uno o varios usuarios solicitan que el mismo archivo se transfiera a la misma ubicación. BITS transfiere el archivo para cada solicitud por separado.