Запуск двух вызовов WebClient.UploadStringAsync впоследствии - PullRequest
3 голосов
/ 18 января 2010

При двойном вызове WebClient.UploadStringAsync без ожидания события WebClient.UploadStringCompleted возникает следующее исключение:

"WebClient не поддерживает параллельные операции ввода-вывода"

Видимо, это не поддерживается.

Причина, по которой вы хотите запустить несколько запросов HTTP POST без ожидания получения предыдущего ответа, связана с производительностью; Я хочу избежать задержки в оба конца. Есть ли способ обойти это ограничение?

1 Ответ

8 голосов
/ 18 января 2010

Вам нужно использовать несколько экземпляров 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...