Скрипт, т. е. карабкается в IIS7 с статическое сжатие включено


У меня возникли проблемы с файлами javascript, которые не распаковываются в IIS7, и таблицы стилей не загружаются должным образом.

Я могу исправить эту проблему, отключив статическое сжатие в IIS, но это не может быть постоянным решением. Проблема внезапно начала происходить. Мы не изменили код.

Веб-приложение является asp.net приложение web forms в .net 4. статическое и динамическое сжатие было установлено в IIS. другое веб-приложение web forms все еще работает нормально с набором статического сжатия на прикладном уровне.

Сервер был обновлен до .net 4.5 framework.

Некоторые теги таблиц стилей настроены на runat server, когда я добавляю номер версии для принудительной перезагрузки css, когда он кэшируется и выпускается новая версия.

Эта проблема возникает только в Internet Explorer.

Я действительно застрял на этом вопросе.

Запрос

Request GET        /webapp/JavaScript/jQuery/js/jquery-1.3.2.min.js HTTP/1.1
Accept  text/html, application/xhtml+xml, */*
Accept-Language x-en-GB-zscot
User-Agent  Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
UA-CPU  AMD64
Accept-Encoding gzip, deflate
Host    localhost
Connection  Keep-Alive

Заголовки Ответов

Key Value
Response    HTTP/1.1 200 OK
Cache-Control   private
Content-Type    application/x-javascript
Content-Encoding    gzip,gzip
Last-Modified   Wed, 10 Oct 2012 15:45:44 GMT
Accept-Ranges   bytes
ETag    "04f24efea6cd1:0"
Vary    Accept-Encoding
Server  Microsoft-IIS/7.5
X-Compressed-By HttpCompress
Date    Tue, 04 Dec 2012 11:07:13 GMT
Content-Length  19788

Часть ответа Тело

‹
@õ¿‹ä½kwÚȶ(úýü
¬ÕÛ-…âá¤×>g +ŒtÂÛI~a²®²M7F^€ã¤ýÛï|T•ª„p²ö8çŽ;ÆéÑ1R©Þ5k¾kVéÕÿȽÊýñé)šÏµÃ¯áéh>y溓›yI_ŠoŠ¯1Ïýrùè—Jü³GñC  RñÃûøñû|rw¿Ì¹#/÷ºþG®ßÏrŸ£Åä3|x
2 6

2 ответа:

Это ошибка декомпрессии qZip. Может произойти, если Content-Length в заголовке не является правильным.

Несколько раз, если страница устанавливает Content-Length в заголовке, а затем веб-сервер пытается gZip страницу, но не удается изменить Content-Length - потому что были все готовы отправить в браузер.

Возможные решения-удалить набор Content-Length из вашего кода и позволить IIS установить его, посмотреть, готовы ли вы все сделать qZip эти файлы и решить-ether пусть iis сделает это за вас, ether сделает это за вас. сам.

Аналогичная проблема и ответ:
ASP.NET сайт иногда зависает и / или показывает нечетный текст в верхней части страницы во время загрузки, на серверах с балансировкой нагрузки

HTTP-сжатие: некоторые внешние скрипты / CSS не распаковываются должным образом некоторое время

IIS content-type wrong for compressed CSS

Я сузил этот вопрос до веб-сайта, используя Blowery HttpCompression.

Похоже, что с .net 4.5 Blowery и IIS больше не играют вместе хорошо, и статическое содержимое, кажется, сжимается дважды, один раз Blowery и один раз IIS.

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