将HttpContext.Request / Response.Body流包装到BufferedStream中?

时间:2018-09-20 14:22:58

标签: .net-core httpclient httpcontext bufferedstream

在.NET Core中,当在HttpContext.Request.BodyHttpContext.Response.Body中使用流时,我们应该首先将它们包装在BufferedStream中吗?

很显然,如果它们已经在缓存自己,那么我们应该避免双重缓冲。但是,如果不这样做,就会带来发送许多微小TCP数据包的风险。据报道,性能差异为500倍:

https://github.com/dotnet/corefx/issues/1793#issuecomment-151584410 https://stackoverflow.com/a/1950692/543814

那么,请求和响应流是否在.NET Core中实现了自己的缓冲?

此外,在接收方(HttpContext.Request.Body)缓冲是否有意义?还是完全由发送方控制?我想象接收方必须总是有一个缓冲区,所以必须已经有一个缓冲区,否则分组拆分将由发送方控制。

0 个答案:

没有答案