2014-11-25 107 views
3

我试图启用Web API控制器发送的JSON响应的压缩,但由于某种原因,它不起作用。 我在StackOverflow和Microsoft论坛上经历了许多类似的问题。因此,动态压缩模块安装在applicationHost.confighttpCompression如下: Configuration editor在IIS 7.5中为JSON启用动态压缩

dynamicTypes

就可以了,看到我都提出了dynamicCompressionDisableCpuUsagedynamicCompressionEnableCpuUsage值。 我也均applicationHostweb.config设置urlCompression以下值:

<urlCompression doStaticCompression="true" doDynamicCompression="true" /> 

失败请求跟踪(如这里所描述:https://stackoverflow.com/a/787251/829623)显示静态压缩一些安打,但没有对动态压缩。

响应大小从800 KB到20 MB不等。但是他们都没有被压缩。

这里的问题是,我的本地IIS 8服务器具有相同的配置压缩所有内容,并且我刚刚用完了为什么问题发生的想法。 也许问题出在CPU的使用?是否可以检查它?除此之外,我不幸有任何假设。

+0

请问您可以发布'%windir%\ System32 \ inetsrv \ config \ ApplicationHost.config'文件的内容吗? – vzamanillo 2014-12-03 17:19:02

+0

有可能您的请求标头设置不正确。是否有可能从本地IIS 8和IIS 7.5粘贴请求和响应头?此外,为成功状态代码(200-399)启用IIS跟踪,这将为您提供有关如何处理和处理请求的更多线索。 – Mrchief 2014-12-03 20:15:02

+0

@vzamanillo:这里是:https://www.dropbox.com/s/7qr71e76qn4898v/applicationHost.config?dl=0 – MyUserName 2014-12-05 07:35:22

回答

0

你可以尝试在你对ApplicationHost.config的frequentHitThreshold设置为1(把它放在你的web.config不会覆盖AH设定据我所知)

<serverRuntime frequentHitThreshold="1" /> 

另一件事是检查是否动态压缩即使安装在您的IIS 7.5服务器上。 2k8没有默认启用它。 http://www.iis.net/configreference/system.webserver/urlcompression

+0

正如我在上面提到的,我决定使用application'level压缩。在Web服务器和Web应用程序上安装并启用动态压缩。这虽然没有帮助,但:)。 – MyUserName 2014-12-05 07:37:57