Pri dvojitom volaní WebClient.UploadStringAsync bez čakania na udalosť WebClient.UploadStringCompleted je vyvolaná nasledujúca výnimka:
„WebClient nepodporuje súčasné I / O operácie“
Zrejme to nie je podporované.
Dôvod, prečo chcete spustiť viac HTTPŽiadosti o POST bez toho, aby bolo potrebné čakať na doručenie predchádzajúcej odpovede, sú kvôli výkonu; Chcem sa vyhnúť oneskoreniu spiatočnej jazdy. Existuje riešenie tohto obmedzenia?
odpovede:
8 pre odpoveď č. 1Musíte použiť niekoľko inštancií WebClient
.
var wc1 = new WebClient();
wc1.UploadStringCompleted += (s, args) => {
// do stuff when first upload completes
}
wc1.UploadString(uri1,str1);
var wc2 = new WebClient();
wc2.UploadStringCompleted += (s, args) => {
// do stuff when second upload completes
// might happen before first has completed
}
wc2.UploadString(uri2,str2);