我有一个web api服务,可以接受来自Web应用程序的批量请求。我已经定义了mime类型'multipart / *'在web.config中压缩但响应没有被压缩。我不确定为什么它不能像普通的单个请求一样工作(不能作为multipart / mixed被压缩得很好)。
<httpCompression>
<dynamicTypes>
<clear />
<add enabled="true" mimeType="text/*" />
<add enabled="true" mimeType="application/javascript" />
<add enabled="true" mimeType="application/json" />
<add enabled="true" mimeType="multipart/*" />
<add enabled="false" mimeType="*/*" />
</dynamicTypes>
<staticTypes>
<clear />
<add enabled="true" mimeType="text/*" />
<add enabled="true" mimeType="application/javascript" />
<add enabled="true" mimeType="application/json" />
<add enabled="true" mimeType="multipart/*" />
<add enabled="false" mimeType="*/*" />
</staticTypes>
</httpCompression>
实际响应mime类型以'multipart / mixed'开头,但根据附加的边界ID而变化。
Content-Type:multipart/mixed; boundary="0bb00cbc-234a-4264-87dc-60109719e79f"
请求正在发送一个Accepted-Encoding标头,所以我认为问题不在那里我认为这与IIS匹配mime类型有关。
任何想法都会很棒!
谢谢,
乔恩
答案 0 :(得分:0)
我也碰到了这个,并且能够通过使用这个NuGet包来解决这个问题: https://www.nuget.org/packages/Microsoft.AspNet.WebApi.MessageHandlers.Compression/
这也支持压缩批处理响应。
有关如何使用它的信息在github页面上: https://github.com/azzlack/Microsoft.AspNet.WebApi.MessageHandlers.Compression