Мои страницы автоматически сжимаются IIS7 с помощью GZIP.
Это здорово... но для одной конкретной страницы мне нужно передать ее пользователю, используя Response.Flush()
при необходимости. Но когда выходные данные сжимаются, сервер IIS, кажется, собирает все мои выходные данные до тех пор, пока страница не будет готова, прежде чем сжиматься и отправлять ее клиенту. Это сводит на нет мою попытку сбросить содержимое пользователю.
Есть ли способ, которым я могу отключить эту страницу от сжатия?
Один из возможных вариантов
Я определил, что если я вручную установлю тип содержимого, который не соответствует конфигурации IIS в c:\windows\system32\inetsrv\config\applicationhost.config
, то IIS не будет его сжимать. Например. Response.ContentType = "x-text/html"
. Это нормально работает с IE8, так как он возвращается к отображению HTML. Но Firefox спросит пользователя, что делать с неизвестным типом файла.
Это могло бы сработать, если бы я мог использовать другой тип Mime, который браузеры принимали бы как HTML, который не соответствует applicationhost.config
. Для справки, это типы mime, которые будут сжаты:
<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" />
Другие варианты?
Существуют ли другие варианты отказа от сжатия?