0

我正在使用 WebClient 来获取和发布请求。当我向这样的数据发送http请求时GET

WebClient client = new WebClient();  
client.DownloadStringAsync(new Uri(requestUri), "GET"); 

我最多可以接收 1 分钟的数据。我可以在 20 秒内收到一些数据,在 30 秒内和完成 1 分钟后收到一些其他数据。我想知道何时收到数据。我在 Web 客户端中是否有任何事件来获取我收到的数据字节.. 任何人都可以帮我找到解决方案。

4

1 回答 1

0

WebClient.DownloadProgressChanged每当异步方法之一接收到数据时,都会引发该事件。但是,没有办法确切地确定读取了哪些数据,因此听起来这不会解决您的问题。

如果您需要完全控制请求,您将不得不放弃WebClient并直接使用较低级别的WebRequest类。具体来说,您想发送 aWebRequest以获取 aWebResponse并调用GetResponseStream它;返回的流公开了异步功能,可让您做任何您需要的事情。缺点当然是您必须手动编排所有内容,这将远远超过两行代码。

在 MSDN 文档中有一个如何执行此操作的示例WebRequest.BeginGetResponse

于 2013-02-18T12:30:09.607 回答