See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 19401|Vastuse: 2

[ASP.NET] ASP.NET kasuta HttpListenerit, et jätkata failikatkestuspunkte

[Kopeeri link]
Postitatud 27.11.2019 10:42:41 | | |
Katkestuspunkti jätkamise põhimõte on väga lihtne, st HTTP päringu ja vastuse päis erineb tavapärasest allalaadimisest.
Kui serveris dokumenti tavapäraselt taotleda, on esitatud ja saadud palve järgmised:
Taotluse päis:
Cache-Control: no-cache
Connection: close
Pragma: no-cache
Accept: */*
Host: localhost
Vastuse päis:
200
Content-Type: application/octet-stream
Content-Disposition: attachment;FileName=time.pdf

Kui server toetab katkestuspunkti jätkamist, on päring ja vastus järgmised:
Taotluse päis:
Cache-Control: no-cache
Connection: close
Pragma: no-cache
Accept: */*
Host: localhost
Range: bytes=15360-
Vastuse päis:
206
Content-Type: application/octet-stream
Content-Disposition: attachment;FileName=time.pdf

Kahe sõnumi erinevad osad on tähistatud punaste osadega. Seda võib näha:
Vahemiku päist kasutatakse kliendi soovitud allalaadimiskoha tuvastamiseks.
Kui serveri vastusenumber on 200, tähendab see, et allalaadimine algab failipäisest ja 206 tähendab, et edastus algab faili kindlast asukohast.
Teisisõnu, kui toetad katkestuspunkti jätkamist, saad alustada allalaadimist faili mis tahes osast, samas kui tavaline viis saab alla laadida ainult failipäisest.
Et server toetaks katkestuspunkti taastamist, tuleb lahendada järgmised probleemid:

1。 Kui tegemist on jätkamise taotlusega, pead hankima kliendi nõutava failivahemiku.
Nagu ülaltoodud analüüsist näha, lisatakse kui klient edastab katkestuspunkti, Range väli paketi päisele ning saad kindlaks teha, kas tegemist on katkestuspunkti edastuspäringuga järgmiselt.
string vahemik = taotlus. Päised["Range"];
bool isResume = string. IsNullOrEmpty (vahemik);

2。 Vasta kliendile õigesti, et teavitada kliendiserverit, et lõpp-punkt on jätkamiseks toetatud
Katkestuspunkti päringu saatmisel saab kliendi vastava numbri määrata järgmiselt:
vastus. Staatuskood = 206;

3。 Pakkuda õiget sisu, mida klient vajab
Kliendi nõutava õige sisu edastamine hõlmab tavaliselt järgmisi samme
Hangi kliendi failipäringute vahemik, analüüsides seda vahemikku.
Kui saadetakse katkestuspunkt, on nõutav pikkus lühem kui faili pikkus, seega tuleb määrata õige vastus. ContentLength64 omadus.
Edasta nõutav sisu õigesti
Koodinäide:






Eelmine:httplistener kuulab, et saada POST päringuparameetrid
Järgmine:18 filosoofilist koomiksit, kõik meistrid
Postitatud 27.11.2019 13:14:14 |
Mark
Postitatud 30.11.2019 12:04:39 |
märgistatud      
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com