Dokumendi tutvustus:Hüperlingi sisselogimine on nähtav.
Kui kutsusin teise poole liidest curli kaudu, selgus, et timeout'i nähtus oli väga tõsine, nii et küsisin teise poole liidese inimeselt ja teine pool ütles, et tuleb lisada:
Pärast lisamist leidsin, et see töötab väga hästi, nii et uurisin, kuidas seda kasutada. Kui kasutada curlit POST-i jaoks, siis kui "POST andmed on suuremad kui 1024 baiti", ei algata curl otseselt POST-päringut, vaid jagatakse kaheks sammuks:
Expect: 100-continue
1. Saada päring, mis sisaldab Expect:100-continue't, paludes serveril andmed vastu võtta
2. Pärast serveri poolt tagastatud 100-jätkamise vastuse saamist postitatakse andmed serverisse
Kuid sellega kaasneb mitu probleemi:
Kõik serverid ei reageeri korrektselt 100-jätkamisele, nt lighttpd, mis tagastab 417 Expectation Failed.
põhjustades viivitusi,Kui klient saadab esimese Expect:100-continue'i, peab ta ootama, kuni server vastab, enne kui saadab päringu keha。
Kui oled kindel, et teise osapoole server ei lükka tagasi POST-päringuid, mis ületavad 1024 baiti, saad seda meetodit vältida ja vältida eelpool mainitud kahte kõrvalmõju, ning lahendus on see, mis artikli alguses mainitud.
Umbes 100 jätkub
Selle eesmärk on:
See võimaldab kliendil hinnata, kas server on valmis päringuandmeid vastu võtma enne saatmist, ja kui server on nõus neid vastu võtma, saadab klient andmed tegelikult.
Kliendi käitumine:
Klient, kes saadab 100 jätkamist, ei tohiks serverilt igavesti vastust oodata, ning pärast ajapiirangut peaks klient saatma otse üksuse.
Serveripoolne käitumine:
Kui server saab 100 jätkamise päringu, vastab ta 100 jätkamisega või saadab veakoodi. Server ei saa kunagi saata 100 jätkamist kliendile, kes ei saada 100 jätkamist. Aga mõned serverid teevad seda. IIS 5 saadab valesti 100-jätkamise vastuse
Kui server saab kliendi keha enne 100 jätkamise vastuse saatmist, tähendab see, et klient on otsustanud hakata andmeid saatma, seega ei saa server enam saata 100 jätkamist kliendile. .NET Expect Off Expect seadistuskood on järgmine:
RestSharp on üles ehitatud järgmiselt:
|