Я испытываю затруднения, заставляя IIS 7 правильно сжать результат Json ASP.NET MVC. Я включил статическое и динамическое сжатие в IIS. Я могу проверить со Скрипачом, что обычный текст / HTML и подобные записи сжат. Просматривая запрос, принятый закодированный gzip заголовок присутствует. Ответ имеет mimetype "application/json", но не сжат.
Я определил, что проблема, кажется, касается MimeType. Когда я включаю mimeType="*/*"
, Я вижу, что ответ правильно gzipped. Как я могу заставить IIS сжиматься, не используя подстановочный знак mimeType? Я предполагаю, что эта проблема имеет некоторое отношение к способу, которым ASP.NET MVC генерирует заголовки типа контента.
Использование ЦП значительно ниже динамического порога регулировки. Когда я исследую журналы трассировки от IIS, я вижу, что ему не удается сжаться из-за не нахождения типа пантомимы соответствия.
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" noCompressionForProxies="false">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/json" enabled="true" />
</dynamicTypes>
<staticTypes>
<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/json" enabled="true" />
</staticTypes>
</httpCompression>
Я рекомендую Этот подход
создать CompressAttribute
класс и установить целевое действие.
Я успешно использовал подсветку здесь .