Sitecore не показывает изменения на странице, пока не перезапустите AppPool

Версия Sitecore: Sitecore 7.2

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

Я старался:

  • Отключить htmlcache в web.config
  • Повторно опубликуйте элементы и перейдите в веб-базу данных, чтобы убедиться, что они находятся в сети.
  • Перестройте веб-индекс и используйте тот же запрос (из search.log) в Luke, чтобы проверить результат запроса
  • Очистить кеш с помощью инструмента /sitecore/admin/cache.aspx
  • Перезапустите AppPool в IIS (только это сработало)

Элементы находятся в веб-базе данных и веб-индексе, просто не появятся на странице, если я не перезапущу AppPool.

1 ответ

Решение

Согласно предыдущим комментариям, вы должны исключить кэширование IIS. Это может быть кэширование в режиме ядра и обычное кэширование вывода. Это также может быть сжатие. Если вы настроили сжатие и определили тип MIME как статический, IIS создаст сжатую копию файла во временном каталоге.

Помните, что элементы (возможно) также кэшируются, а не только HTML. Таким образом, вы должны отключить все кэширование во всех различных местах в конфигурации. Используйте справочник по конфигурации кэширования и оптимизации производительности из SDN и работайте в обратном направлении.

Вы можете использовать страницу статистики кэша Sitecore, чтобы увидеть, кэшируются ли компоненты или нет (на уровне подслоя / рендеринга) http://mysite/sitecore/admin/cache.aspx, Попробуйте нажать кнопку сброса и перезагрузить страницу.

В Sitecore есть много уровней кеширования.

Другие вопросы по тегам