Olvasás angol nyelven

Megosztás a következőn keresztül:


Fájlátviteli konzisztencia

A BITS garantálja, hogy az átvihető fájl verziója a fájlméret és az időbélyeg alapján konzisztens, nem pedig tartalom (a BITS nem véd a középen belüli támadások ellen). A tartalom ellenőrzéséhez használja a IBackgroundCopyFile3::GetTemporaryName metódust a letöltött tartalmat tartalmazó fájl nevének lekéréséhez, a tartalom ellenőrzéséhez a saját mechanizmusával, majd hívja meg a IBackgroundCopyFile3::SetValidationState metódust, amely jelzi a BITS-nek, hogy a fájl tartalma érvényes-e. Ha az érvényesítési állapotot hamis állítja be, és a tartalom a forráskiszolgálóról származik, a feladat hibaállapotba kerül. Ha a tartalom egy társtól származik, a BITS letölti a fájlt a forráskiszolgálóról.

Letöltések esetén, ha a fájl mérete vagy időbélyege megváltozik a BITS átvitele közben, a BITS csak a fájl átvitelét indítja újra. Ha például a letöltési feladat két fájlt tartalmaz, és a fájlok frissülnek a kiszolgálón, miközben a BITS a második fájlt továbbítja, a BITS csak a második fájl átvitelét indítja újra. A már sikeresen átvitt első fájl nem frissül az új módosításoknak megfelelően.

Vegye figyelembe, hogy ha a kiszolgálóról letöltött fájl tulajdonosa, a fájl minden új verziójához létre kell hoznia egy új URL-címet. Ha ugyanazt az URL-címet használja a fájl új verzióihoz, előfordulhat, hogy egyes proxykiszolgálók elavult adatokat szolgálnak ki a gyorsítótárból, mert nem ellenőrzik az eredeti kiszolgálóval, hogy a fájl elavult-e.

Feltöltések esetén, ha a fájlméret vagy az időbélyeg a fájlátvitel során megváltozik, a BITS hibát okoz, és a feladat BG_JOB_STATE_ERROR állapotba kerül.

A BITS nem szinkronizálja az átviteli kérelmeket, ha egy vagy több felhasználó ugyanazt a fájlt ugyanarra a helyre szeretné továbbítani. A BITS külön-külön továbbítja a fájlt az egyes kérésekhez.