Asp.net IIS中的静态压缩不适用于htm、js文件
我正在尝试将IIS 7.5配置为压缩静态htm和js文件。有人知道为什么它对我不起作用吗?以下是网站的my web.config:Asp.net IIS中的静态压缩不适用于htm、js文件,asp.net,asp.net-mvc,compression,iis-7.5,Asp.net,Asp.net Mvc,Compression,Iis 7.5,我正在尝试将IIS 7.5配置为压缩静态htm和js文件。有人知道为什么它对我不起作用吗?以下是网站的my web.config: <httpCompression> <dynamicTypes> <add mimeType="text/*" enabled="true" /> <add mimeType="message/*" enabled="true" /&
<httpCompression>
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="false" />
当我将doDynamicCompression设置为true时,压缩开始工作。但我无法使用此选项,因为它在我的主机上被禁用
谢谢。是什么让你认为压缩不起作用?检查事件视图日志。静态压缩模块有时会抛出一个错误,指出正在使用的目录无效(主要是因为它需要写权限) 使用Fiddler或其他HTTP调试工具仔细检查,确保客户端正在发送GZIP/Deflate的“接受编码”。 这个怎么样?检查applicationHost.config文件。我从dynamicTypes中删除了mimeType=“application/x-javascript”,但将其保留在staticTypes中。这使我可以关闭dynamicCompression,但仍然可以压缩javascript 我读过一些帖子,其中建议当你在动态和静态中都有相同的mimeType时,动态中的值将获胜。当dynamicCompression处于禁用状态,但dynamicTypes中有与之匹配的内容时,javascript被视为动态的,因此处于禁用状态
这并不能解释为什么CSS可以工作,因为mimeType=“text/”在这两个地方都有。当涉及到CSS或任何文本/良好链接时,IIS必须更好地确定动态内容与静态内容,谢谢。我在applicationHost.config中发现mime类型不匹配,已修复,但对我没有帮助。感谢您提供的提示。是的,这就是我检测压缩是否有效的方法——查看响应http头。它仅在doDynamicCompression=“true”时发送内容编码:gzip。事件日志中没有任何内容,我甚至尝试为所有人授予“C:\inetpub\temp\IIS临时压缩文件”文件夹的所有权限,但没有帮助。我发现了相同的问题。如果staticcompression处于启用状态,则看起来像是带有压缩的CSS文件。但是我需要js的动态压缩。如果我这么做了,它也会这么做。此外,httpCompression方案似乎没有效果。