3 Stimmen

Anschließend zwei WebClient.UploadStringAsync-Aufrufe starten

Wenn WebClient.UploadStringAsync zweimal aufgerufen wird, ohne auf das Ereignis WebClient.UploadStringCompleted zu warten, wird die folgende Ausnahme ausgelöst:

"WebClient unterstützt keine gleichzeitigen E/A-Operationen"

Offenbar wird dies nicht unterstützt.

Der Grund dafür, dass ich mehrere HTTP-POST-Anfragen starten möchte, ohne auf die vorherige Antwort warten zu müssen, liegt in der Leistung; ich möchte die Verzögerung beim Hin- und Rückweg vermeiden. Gibt es eine Abhilfe für diese Einschränkung?

8voto

AnthonyWJones Punkte 182582

Sie müssen mehrere Instanzen von 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);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X