应用程序/ xhtml + xml内容类型的GZip压缩在IIS 7.5 / MVC中不起作用

时间:2012-04-13 20:31:33

标签: asp.net-mvc iis iis-7.5 gzip

我在IIS 7.5上运行了一个已启用压缩的MVC3站点。

GZip压缩正在网站的所有页面上工作,除了几个页面我在控制器中手动将内容类型更改为application/xhtml+xml(由于各种原因这是必要的)(Response.ContentType = "application/xhtml+xml";

这种内容类型会导致GZip无法正常工作,有什么方法吗?

1 个答案:

答案 0 :(得分:3)

application/xhtml+xml不是IIS压缩知道要压缩的内置mime类型之一。您必须明确为此mime类型启用压缩。

我假设您希望启用压缩,无论是静态文件还是动态生成。为此,您必须将mime-type添加到计算机级配置的system.webServer/httpCompression staticTypesdynamicTypes部分。使用部署脚本执行此操作的一种更简单的方法是使用appcmd.exe,如下所示:

添加对压缩静态内容的支持

appcmd.exe set config -section:system.webServer/httpCompression /+"staticTypes.[mimeType='application/xhtml%%2bxml',enabled='True']" /commit:apphost

添加对压缩动态内容的支持

appcmd.exe set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/xhtml%%2bxml',enabled='True']" /commit:apphost

显然,您可以对可能需要压缩的任何其他内容类型使用相同的方法。