为什么 .NET HttpResponseMessage.Content 的读取方法是异步的?

Ale*_*sev -1 .net c# httpclient task async-await

我注意到,那HttpResponseMessage.Content是有ReadAsStringAsync()方法的。当此操作需要 cpu 并且任务反应会增加更多 CPU 工作时,使其异步有何意义?

Gab*_*uci 5

它不纯粹是受 CPU 限制的操作。在具有较大响应的请求中,您可以在通过网络接收到整个响应正文之前开始读取响应正文。

响应的第一部分可能已经在内存中,但是在读取响应时您很可能会遇到需要等待通过网络接收其余数据的情况。这允许您异步等待而不阻塞线程。