使用HttpWebRequest下载

时间:2011-12-09 13:23:23

标签: c# httpwebrequest

假设我使用HttpWebRequest来调用用python编写的Web服务,该服务返回一个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 个答案:

答案 0 :(得分:2)

request.GetResponse()是同步的,这意味着在下载完所有数据之前它不会返回。

{}} The documentation request.GetResponse()WebException表示如果出现{{1}}:

  • Abort之前被称为。
  • 请求的超时期限已过期。
  • 处理请求时出错。

这意味着如果没有抛出任何异常,一切都会好起来的。