批量请求mime类型'multipart / mixed'的IIS压缩设置

时间:2015-10-08 06:01:40

标签: http iis compression asp.net-web-api

我有一个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类型有关。

任何想法都会很棒!

谢谢,

乔恩

1 个答案:

答案 0 :(得分:0)

我也碰到了这个,并且能够通过使用这个NuGet包来解决这个问题: https://www.nuget.org/packages/Microsoft.AspNet.WebApi.MessageHandlers.Compression/

这也支持压缩批处理响应。

有关如何使用它的信息在github页面上: https://github.com/azzlack/Microsoft.AspNet.WebApi.MessageHandlers.Compression