【发布时间】:2018-11-12 00:50:54
【问题描述】:
我使用 HttpWebRequest 下载大量数据。正如on their website 建议的那样,我将响应流直接传递给 JsonSerializer.Deserialize 方法。
现在我想在下载过程中报告进度。网络上有足够的资源like this one 展示了如何做到这一点。
我的问题是,我不知道如何结合这两个功能。
我的第一个想法是下载并报告进度,然后倒回流并将其传递给 Deserialize 方法,但这不起作用,因为流不可搜索。
我的第二个想法(我还没有尝试过)是从响应流中读取数据块以报告进度并将这些块写入 MemoryStream。然后我会将 MemoryStream 倒回到 Deserialize 方法。这可以工作,但我最终会在内存中获得完整的数据,因此here 描述的性能提升会丢失。所以我还不如忘记内存流,把所有的东西都读成一个字符串。
如果有人能给我一些解决这个问题的提示,我会很高兴。
【问题讨论】:
标签: .net json httpwebrequest