/ / Následné spustenie dvoch hovorov WebClient.UploadStringAsync - silverlight, http

Spustenie dvoch volaní WebClient.UploadStringAsync - silverlight, http

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ď č. 1

Musí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);