Как отключить сжатие gzip для flv-файлов в IIS 7, если для runAllManagedModulesForAllRequests задано значение true? - PullRequest
5 голосов
/ 12 января 2011

У меня есть веб-сайт ASP.NET 3.5, работающий на IIS 7, и я хотел бы, чтобы мой статический контент (например, CSS-файлы, файлы Javascript и т. Д.) Был сжат GZIP, а также мой динамический контент (страницы .NET).Проблема в том, что мне нужно убедиться, что FLV-файлы (флеш-видео файлы) не сжаты gzip, потому что это вызывает проблемы с флеш-плеером, который я использую, Flowplayer .

I 'мы добавили следующую строку в мой 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 есть runAllManagedModulesForAllRequests = "true" (который мне нужен для некоторых вещей, которые я делаю с маршрутизацией).

В итоге,как отключить сжатие gzip для файлов flv?

1 Ответ

2 голосов
/ 27 сентября 2012

Я думаю, что лучшее, что нужно сделать, - это вручную управлять тем, что получает gzip'd.Иногда то, что такое gzip'd, может на самом деле увеличиваться в размерах, как swf, с чем я только что столкнулся.Ранее в моем application.config был этот блок, и после того, как я удалил ударную волну, 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, но я почти уверен, что вы можете сделать этоза веб-сайт в вашем web.config под system.webserver.

Все, что я должен был сделать для меня, это удалить тип пантомимы ударной волны, и он перестал сжиматься, но все остальные действительные типы пантомимы были.

...