Загрузка с помощью HttpWebRequest - PullRequest
0 голосов
/ 09 декабря 2011

Допустим, я использую HttpWebRequest для вызова веб-службы, написанной на python, и эта служба возвращает файл XML. Предположим, что загрузка данных занимает 10 секунд.

 HttpWebResponse response = (HttpWebResponse)req.GetResponse();

 if(allDate100%Transfered)
 MsgBox.show("u can now CUT your cable. All data is there!!!");

Есть ли свойство, чтобы проверить, все ли передано?

Потому что я хочу продолжить и, например, прочитать полученные данные в строку, но только когда все данные были успешно загружены.

Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
String xml = reader.ReadToEnd();

Получаю ли я какое-либо сообщение или подпись от веб-службы, которая говорит мне, что все данные действительно есть, и мне больше не нужно соединение?

Редактировать: Проблема все еще там. Я получаю разные ответы, и они противоречат друг другу.

1 Ответ

2 голосов
/ 09 декабря 2011

request.GetResponse() является синхронным, что означает, что он не вернется, пока не будут загружены все данные.

В документации из request.GetResponse() указано, что WebException выбрасывается, если:

  • Прерывание было вызвано ранее.
  • Истек срок ожидания для запроса.
  • Произошла ошибка при обработке запроса.

Что означает, что все прошло нормально, если не было выброшено исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...