我使用WebClient
类与只有一个端点URL的服务器进行交互,而是在JSON中接受路径作为POSTed值(并不重要)。
使用UploadStringTaskAsync
,我可以异步发出此类请求并正确阅读其响应。但是,现在我面临从该服务器下载文件的必要条件。这是一个非常大的文件(高达数百兆字节),因此我的程序界面应该有一个进度指示。但是UploadStringTaskAsync
不会触发DownloadProgressChanged
事件,因此,我无法访问已下载的字节数。
我如何收到此文件,并能够收到进度通知?或者是否有任何其他类我可以使用它允许我做大量响应的POST请求?
答案 0 :(得分:1)
首先想到的是,您将下载作为流打开,编写自己的副本循环并从那里执行进度报告。这可以保证有效。
WebClient似乎不够。 WebClient包装HttpWebRequest所以只需使用它。或者使用更现代的HttpClient。这两个保证支持获取流(实际上是流)。