iis7 сжимает динамический контент из пользовательского обработчика - PullRequest
5 голосов
/ 26 марта 2010

У меня возникли проблемы с сжатием динамического содержимого из пользовательского обработчика в IIS 7.

Наш обработчик выплевывает данные json (Content-Type: application / json; charset = utf-8) и отвечает на URL-адрес, который выглядит следующим образом:

В IIS 6 все, что нам нужно было сделать, - это отредактировать файл MetaBase.xml, а в элементе IIsCompressionScheme убедиться, что в атрибут HcScriptFileExtensions включено пользовательское расширение 'mal'.

Статическое и динамическое сжатие на уровне сервера и веб-сайта. Я могу подтвердить, что нормальные страницы .aspx сжимаются правильно. Единственное содержимое, которое я не могу сжать, - это содержимое, полученное из пользовательского обработчика.

Я попробовал следующие конфиги безуспешно:

<handlers>
  <add name="MyJsonService" verb="GET,POST" path="*.mal" type="Library.Web.HttpHandlers.MyJsonServiceHandlerFactory, Library.Web" />
</handlers>

<httpCompression>
  <dynamicTypes>
    <add mimeType="application/json" enabled="true" />
  </dynamicTypes>
</httpCompression>

_

<httpCompression>
  <dynamicTypes>
    <add mimeType="application/*" enabled="true" />
  </dynamicTypes>
</httpCompression>

_

<staticContent>
  <mimeMap fileExtension=".mal" mimeType="application/json" />
</staticContent>
<httpCompression>
  <dynamicTypes>
    <add mimeType="application/*" enabled="true" />
  </dynamicTypes>
</httpCompression>

Заранее спасибо за помощь.

1 Ответ

5 голосов
/ 17 апреля 2010

похоже, что это ошибка в сжатии IIS. Мне нужно было добавить следующую строку в файл applicationHost.config (в разделе httpCompression) вместо web.config

        <dynamicTypes>
            <add mimeType="application/json; charset=utf-8" enabled="true" />
        </dynamicTypes>

нашел дополнительную помощь здесь: http://forums.iis.net/p/1162828/1925766.aspx

...