C# 如何在runAllManagedModulesForAllRequests设置为true的情况下禁用IIS 7中flv文件的gzip压缩?

C# 如何在runAllManagedModulesForAllRequests设置为true的情况下禁用IIS 7中flv文件的gzip压缩?,c#,asp.net,iis-7,web-config,gzip,C#,Asp.net,Iis 7,Web Config,Gzip,我有一个运行在IIS 7上的ASP.NET 3.5网站,我希望对静态内容(如css文件、javascript文件等)和动态内容(.NET页面)进行gzip压缩。问题是我需要确保flv文件(flash视频文件)不是gzip压缩的,因为这会导致我正在使用的flash视频播放器出现问题 我已经在我的web.config中添加了以下行,它启用了压缩,但是我的flv文件也正在进行gzip压缩: <urlCompression doStaticCompression="true" doDynamicC

我有一个运行在IIS 7上的ASP.NET 3.5网站,我希望对静态内容(如css文件、javascript文件等)和动态内容(.NET页面)进行gzip压缩。问题是我需要确保flv文件(flash视频文件)不是gzip压缩的,因为这会导致我正在使用的flash视频播放器出现问题

我已经在我的web.config中添加了以下行,它启用了压缩,但是我的flv文件也正在进行gzip压缩:

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

我已尝试将以下内容添加到我的web.config中,但没有改变任何内容:

<httpCompression>
    <staticTypes>
        <remove mimeType="video/x-flv"/>
    </staticTypes>
    <dynamicTypes>
        <remove mimeType="video/x-flv"/>
    </dynamicTypes>
</httpCompression>

我必须关闭doDynamicCompression以使flv文件不被gzip压缩。我认为它将flv文件视为动态内容,因为我在我的web.config中运行了allManagedModulesForallRequests=“true”(这是我在路由方面所做的一些事情所需要的)


总之,如何禁用flv文件的gzip压缩?

我认为最好的办法是手动管理获得gzip的内容。有时候gzip的大小实际上可以增加,比如swf,这就是我刚才遇到的。以前我的
application.config
中有这个块,在我删除了shockwave mime类型swf后,它停止了压缩

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
        <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
        <dynamicTypes>
                <clear />
                <add mimeType="text/*" enabled="true" />
                <add mimeType="message/*" enabled="true" />
                <add mimeType="application/x-javascript" enabled="true" />
                <add mimeType="application/x-amf" enabled="true" />
                <add mimeType="application/json" enabled="true" />
                <add mimeType="application/json; charset=utf-8" enabled="true" />
                <add mimeType="application/x-shockwave-flash" enabled="true" /> <!-- notice the swf mime type -->
                <add mimeType="*/*" enabled="false" />
        </dynamicTypes>
        <staticTypes>
                <clear />
                <add mimeType="text/*" enabled="true" />
                <add mimeType="message/*" enabled="true" />
                <add mimeType="application/x-javascript" enabled="true" />
                <add mimeType="application/atom+xml" enabled="true" />
                <add mimeType="application/xaml+xml" enabled="true" />
                <add mimeType="application/x-shockwave-flash" enabled="true" /> <!-- notice the swf mime type -->
                <add mimeType="*/*" enabled="false" />
        </staticTypes>
    </httpCompression>

这是在我的应用程序配置中的
windows\system32\intersrv\config\application.config
中,但我确信您可以在
system.webserver
下的web.config中为每个网站执行此操作


我所要做的就是删除shockwave mime类型,它不再被压缩,但所有其他有效的mime类型都被压缩了

这就是我相信您想要的
注意,我还认为这只能在IIS7中的ApplicationHost.config级别完成。