IIS 7.5 / MVC中的application/xhtml+xml内容类型无法进行GZip压缩

3

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

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

有关此内容类型,会导致GZip无法工作,是否有任何方法可以解决这个问题?

1个回答

3

application/xhtml+xml不是IIS压缩已知要压缩的内置MIME类型之一。您必须显式地为此MIME类型启用压缩。

我假设您希望无论是静态文件还是动态生成的文件都启用压缩。为此,您必须将该MIME类型添加到计算机级别配置的system.webServer/httpCompressionstaticTypesdynamicTypes部分。使用部署脚本中最简单的方法之一就是使用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

显然,您可以使用同样的方法来压缩您希望压缩的任何其他类型的内容。

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