【发布时间】:2021-09-26 15:30:42
【问题描述】:
我有一个关于文件下载的问题。我想了解大文件下载在 .Net HttpClient 中的工作原理。
假设我的文件大小为 1GB。当我发送 HTTP GET 请求以从 HttpClient 下载文件时,使用 HttpClient.GetStreamAsync 方法,它是在我读取时检索响应正文(逐字节)还是检索完整响应和客户端上的缓冲区?
我问这个是因为我想了解是否可以限制使用带宽进行客户端下载。
谢谢。
【问题讨论】:
-
一次从 Stream 中读取 N 个字节。具体有多少取决于使用流的读者。
-
这是您的回答者吗? stackoverflow.com/questions/58326466/…
-
但问题仍然是数据包是否在何时以及是否读取流时被检索(因此,如果我限制读取,我使用的网络带宽也会受到限制),或者数据包独立到达网卡并在某处缓冲。
标签: c# .net http .net-core dotnet-httpclient