【问题标题】:Http server in c# supporting chunked Transfer-Encodingc# 中的 Http 服务器支持分块传输编码
【发布时间】:2026-01-11 14:20:05
【问题描述】:

我正在寻找一种在 C# 中创建支持多部分形式帖子的分块传输编码的 HttpServer 的方法。原因是我需要传输大文件(2-10GB)并且客户端应用程序必须使用分块传输编码 - 否则在将文件加载到内存时它会耗尽内存。我查看了网络并发现了很多在.Net 中使用 System.Net.HttpListener 类的示例,但我无法让该示例用于从使用分块传输编码的客户端接收数据.

有没有人举例说明如何做到这一点?

非常感谢任何提示。

【问题讨论】:

  • 文档似乎暗示设置 response.ContentLength64 属性可能会导致数据分块。其他一些摆弄可能是必要的。文档here

标签: c# .net http chunked-encoding transfer-encoding


【解决方案1】:

在尝试了更多之后,我解决了这个问题: 你只需要设置

httpWebRequest.SendChunked = true;
httpWebRequest.AllowWriteStreamBuffering = !Chunked;

这使它对我有用。

【讨论】: