2

我不得不渲染一个 json 提要。由于提要的大小约为 10 MB,因此我决定在 ASPNET 中启用压缩。我为 json mime 类型启用了动态压缩。压缩效果很好,并将大小减小到 1 MB(对使用的服务器 CPU 有显着的压缩优势)。

但奇怪的是,浏览器每次花费 2.6 分钟并失败,尽管我看到 JSON 在几秒钟内收到。

我尝试使用提琴手和检查工具进行调试。我看到分块传输编码作为响应。所以浏览器等待大约 150 秒来接收 0 大小的块来完成。

我不会在任何 json 服务中刷新响应。因此 IIS 在这种情况下启用了分块传输。关闭 enableChunkedEncoding 也无济于事。

如何使这种压缩工作或压缩+分块传输一起工作?

这是请求和响应标头。

请求标头

请求网址:http://localhost:8080/Default2.aspx

请求方法:GET

状态码:200 OK

接受编码:gzip、deflate、sdch

响应标头

内容编码:gzip

内容类型:应用程序/json;字符集=utf-8

传输编码:分块

编辑:有趣的是,当压缩响应 < 1 MB 时一切正常。当响应大于 1 MB 时,问题就会蔓延。我在这里创建了测试项目

提前致谢

4

0 回答 0