配置IIS对Json的动态压缩

3
我正在测试Json输出的dynamicCompression时遇到了问题。该应用程序是一个MVC / WEBAPI5应用程序,我正在调查的请求是一个Get WebAPI请求。
我得到了Json结果,但它并没有被压缩。
我按照以下步骤在IIS8中配置了Json的动态压缩:How can I get gzip compression in IIS7 working?
 <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
        <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
        <dynamicTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="application/javascript" enabled="true" />
            <add mimeType="application/json" enabled="true" />
            <add mimeType="application/json; charset=utf-8" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </dynamicTypes>
        <staticTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/javascript" enabled="true" />
            <add mimeType="application/atom+xml" enabled="true" />
            <add mimeType="application/xaml+xml" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </staticTypes>
    </httpCompression>

我已安装压缩模块,并且在此特定调用的FailedRequestTracelog中可以看到以下内容: enter image description here

从我的fiddler跟踪结果可以看出,尽管FailedRequestTrace输出显示不匹配,但实际上它似乎是匹配的类型。 enter image description here

有什么想法吗?

1个回答

9

这对我有用,谢谢。但是我不确定设置存储在哪里。MMC snapin 的底部显示配置:ApplicationHost.config。我无法在 C:\Windows\System32\inetsrv\config\applicationhost.config 中看到这些设置。(这是我之前尝试编辑的文件)。而且我在我的服务器上找不到任何其他修改过的 applicationhost.config 文件?(Windows 2012) - Tim
我个人更喜欢使用第一个链接中提到的非IIS压缩方式。你试过那种方式吗?它更简单,而且提供了更多的控制。 - Kiran
1
这个特定的应用程序是一个WebForms应用程序,我们目前没有添加WebAPI的能力。大多数调用都是针对WebForms上的Web方法。不过,我肯定会查看上面链接中的其他MVC/WebAPI项目。 - Tim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接