Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 下载所有数据后是否引发WebClient.OpenReadCompleted事件?_C#_Windows Phone 7_Webclient - Fatal编程技术网

C# 下载所有数据后是否引发WebClient.OpenReadCompleted事件?

C# 下载所有数据后是否引发WebClient.OpenReadCompleted事件?,c#,windows-phone-7,webclient,C#,Windows Phone 7,Webclient,我正在使用WebClient.OpenReadAsync方法从Windows Phone 7上的web服务器下载数据。在某个时刻,会引发OpenReadCompleted事件,并向我提供一个可用于读取数据的流 发生这种情况时,我可以假设数据已经下载了吗?即,将流读取到终端将是一项本地操作,不会涉及任何更多的网络访问?或者读取流实际上会触发下载数据吗 如果数据已经下载,它存储在哪里?如果数据是海量的,不适合任何地方,而我只想阅读其中的一小部分,该怎么办 我在文档中找不到关于它的任何信息 发生这种情

我正在使用WebClient.OpenReadAsync方法从Windows Phone 7上的web服务器下载数据。在某个时刻,会引发OpenReadCompleted事件,并向我提供一个可用于读取数据的流

发生这种情况时,我可以假设数据已经下载了吗?即,将流读取到终端将是一项本地操作,不会涉及任何更多的网络访问?或者读取流实际上会触发下载数据吗

如果数据已经下载,它存储在哪里?如果数据是海量的,不适合任何地方,而我只想阅读其中的一小部分,该怎么办

我在文档中找不到关于它的任何信息

发生这种情况时,我可以假设数据已经下载了吗

不,你不能这么想。打开包含资源的流的异步操作完成时引发此事件。一旦开始读取流,将从网络套接字读取该流,从而导致网络I/O操作

如果数据已经下载,它存储在哪里


在任何地方,在引发此事件时都不会下载任何数据。因此,如果服务器返回的数据很大,您可以在内存中分块读取数据,然后将其写入其他流(如文件、数据库或其他内容)。

谢谢!如果微软能改进他们的文档就好了。@kaalus,相信我,微软有最好的文档之一。它并非完美无缺,它可能缺少一些东西,但与其他框架相比,微软在文档方面确实很在行。