Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net IIS中的静态压缩不适用于htm、js文件_Asp.net_Asp.net Mvc_Compression_Iis 7.5 - Fatal编程技术网

Asp.net IIS中的静态压缩不适用于htm、js文件

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" /&

我正在尝试将IIS 7.5配置为压缩静态htm和js文件。有人知道为什么它对我不起作用吗?以下是网站的my web.config:

    <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方案似乎没有效果。