2013-09-15 3 views
0

Я работаю с кэшированием вывода asp.net mvc 4 и по какой-то причине я не могу заставить его работать. То, что я хочу сделать, является стандартным, но выходное кэширование никогда не срабатывает. Я думаю, это может быть из-за того, что файлы cookie были изменены и поэтому не кэшируются. Я хочу кэш вывода на клиенте. Весь мой сайт находится в https, и все запросы находятся под https.некоторые вопросы с asp.net mvc вывод кэширования

Некоторые вопросы у меня есть:

  1. как я могу настроить кэширование вывода игнорировать любые изменения в печенье?
  2. Что я должен искать в заголовках ответов, чтобы понять, работает ли выходное кэширование или нет?
  3. установка местоположения ServerAndClient - правильно ли я говорю, что это приводит к кешированию на сервере и в браузере клиентов?

Спасибо.

Дополнительная информация:

То, что я заметил через стельку, что запрос заголовок HTTP содержит Cache-Control: макс возраста = 0, но я понятия не имею, как и почему его быть установлен в этом.

ответ

0
  1. по умолчанию атрибут кеширования игнорирует файлы cookie!

  2. вы можете установить контрольные точки в своих контроллерах, чтобы увидеть, работает ли кеширование вывода или нет, кажется, вы знаете, где искать! "... содержит Cache-Control: макс возраста = 0, но ..."

  3. да это правильно

и я предлагаю вам установить продолжительность на фильтре кэширования


посмотрите в файле web.config, чтобы узнать, не имеет ли атрибута cacheControlMode что-то странное! и если это s-MaxAge = 0 это из-за общего прокси

установить атрибут, как это на контроллерах, которые вы хотите кэшировать

[OutputCache(Duration = 360)] 
+0

Спасибо за эту информацию. Да, я считаю, что Cache-Control: max-age = 0 - проблема. Любая идея, почему это может произойти? – amateur

+0

Я отредактировал ответ –