OutputCache VaryByContentEncodings gzip не работает - PullRequest
9 голосов
/ 07 октября 2011

Я установил в OutputCache включение 'VaryByContentEncodings = "gzip" "на мою страницу ASP.net ASPX. Я хочу, чтобы страница обслуживала разные css-файлы: gzip-файл, если браузер его поддерживает, и обычный несжатый, если браузер не поддерживает сжатие.

Пример:

<%@ OutputCache Duration="320" VaryByParam="none" VaryByContentEncodings="gzip"  %>   

Когда я запускаю код, я получаю следующую ошибку:

Атрибут varbycontentencodings не поддерживается директивой outputcache на странице.

Я не знаю, в чем проблема и почему она не работает. Во-вторых, вы думаете, что, обслуживая другой gzip / несжатый CSS, я поступаю правильно. Просто отметьте, что файлы обслуживаются из Amazon S3, поэтому я не могу полагаться на IIS или .NET для автоматического возврата сжатых файлов. Вот почему я хочу разделить кэшированную версию страницы.

В этом, кажется, все в порядке, но это не работает (с использованием ASP.NET 4.5):

http://msdn.microsoft.com/en-us/library/system.web.httpcachevarybycontentencodings.aspx

Помощь будет принята с благодарностью.

Ответы [ 3 ]

6 голосов
/ 17 февраля 2013

Забавная ошибка, я просто забыл поставить атрибут Location , и поэтому у меня ошибка. Однако Microsoft разместила этот код на своем веб-сайте, и это привело меня к мысли, что этот код должен работать как есть.

http://msdn.microsoft.com/en-us/library/system.web.httpcachepolicy.varybycontentencodings.aspx

4 голосов
/ 07 октября 2011
  • Какая версия ваш пул приложений запущен?
  • Директива на странице, элемент управления или Masterpage

В версии .NET Framework представлена ​​версия VaryByContentEncodings. 3.5.

Свойство HttpCachePolicy.VaryByContentEncodings

1 голос
/ 29 октября 2015

У меня точно такая же проблема.Проблема в том, что Visual Studio intellisense предлагает неверное имя атрибута.Правильным является « VaryByContentEncoding », хотя в конце «s» отсутствует.

Правильно:

<%@ OutputCache ... VaryByContentEncoding="gzip"  %>

Неверно:

<%@ OutputCache ... VaryByContentEncodings="gzip"  %>
...