Не удается установить заголовок HTTP Vary в классическом режиме ASP.NET/IIS7 - PullRequest
2 голосов
/ 16 января 2010

Сначала немного фона.Я написал собственный модуль сжатия HTTP для ASP.NET.Моя машина для разработки имеет Windows 7 Ultimate, которая поставляется с IIS7.Моя производственная среда использует IIS6.

Проблема, с которой я столкнулся, заключается в том, что Resource Expert Droid (redbot.org) говорит мне, что мне нужно добавить заголовок к моему ответу для правильной поддержки сжатия: «Vary: Accept-Кодировка "

На IIS7 в интегрированном режиме она работает правильно.Однако в классическом режиме, который в конечном итоге работает мое приложение, я не могу заставить свой код выводить этот заголовок, используя любой из Response.AppendHeader (), Response.Cache.SetVaryByCustom () или Response.Cache.VaryByHeaders.

Я использую отображение обработчика подстановочных знаков, поэтому ASP.NET видит все запросы даже в классическом режиме.

1 Ответ

3 голосов
/ 16 января 2010

Я понимаю, что вы сказали, что уже пробовали это, но вот обычный подход:

this.Response.Cache.SetVaryByCustom("Accept-Encoding");

Вы можете попытаться вызвать этот метод в конце жизненного цикла, например, с End_Request в HttpModule.

Если это не сработает, к сожалению, в IIS6 вам потребуется использовать ISAPI для установки пользовательских заголовков HTTP.

FWIW, встроенная система сжатия должна автоматически установить этот заголовок для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...