Konsekvens för filöverföring
BITS garanterar att den version av filen som överförs är konsekvent baserat på filstorlek och tidsstämpel, inte innehåll (BITS skyddar inte mot man-in-the-middle-attacker). För att verifiera innehållet själv kan du använda metoden IBackgroundCopyFile3::GetTemporaryName för att hämta namnet på filen som innehåller det nedladdade innehållet, verifiera innehållet med din egen mekanism och anropa sedan IBackgroundCopyFile3::SetValidationState-metod för att ange bits om innehållet i filen är giltigt. Om du anger valideringstillståndet till FALSE- och innehållet kommer från ursprungsservern hamnar jobbet i feltillståndet. Om innehållet kommer från en peer hämtar BITS filen från ursprungsservern.
Om filstorleken eller tidsstämpeln ändras när BITS överför filen startar BITS endast om överföringen av filen. Om hämtningsjobbet till exempel innehåller två filer och filerna uppdateras på servern medan BITS överför den andra filen startar BITS endast om överföringen av den andra filen. Den första filen, som redan har överförts, uppdateras inte för att återspegla de nya ändringarna.
Observera att om du äger filen som laddas ned från servern bör du skapa en ny URL för varje ny version av filen. Om du använder samma URL för nya versioner av filen kan vissa proxyservrar hantera inaktuella data från cacheminnet eftersom de inte verifierar med den ursprungliga servern om filen är inaktuell.
För uppladdningar, om filstorleken eller tidsstämpeln ändras under filöverföringen, genererar BITS ett fel och jobbet placeras i BG_JOB_STATE_ERROR tillstånd.
BITS synkroniserar inte överföringsbegäranden när en eller flera användare begär att samma fil ska överföras till samma plats. BITS överför filen för varje begäran separat.