Как аннулировать html-кеш sitecore на адаптивном веб-сайте?

У нас есть адаптивный веб-сайт на основе sitecore, который имеет другой контент для мобильных устройств на некоторых страницах, в отличие от настольных компьютеров. Мы определяем тип устройства с помощью пользовательского агента запроса Http и на его основе используем другую бизнес-логику.

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

Как мы должны справиться с этим сценарием?


person Ravi Gupta    schedule 07.09.2018    source источник


Ответы (1)


Вы можете создать свой собственный «вариант» с вашей бизнес-логикой для пользовательского агента. Или используйте Vary by Device, но вам нужно использовать устройства так, как поддерживает Sitecore, создайте свои устройства ниже /sitecore/layout/Devices и используйте их.

Создайте RenderRenderingProcessor (Sitecore.Mvc.Pipelines.Response.RenderRendering) для mvc.renderRendering pipeline. И добавьте флажок в шаблон /sitecore/templates/System/Layout/Sections/Caching/

Пример кода см. в разделе Пользовательские критерии кэширования с MVC в Sitecore от Джона Уэста

Подробнее о кэшировании см. в разделе Кэширование Sitecore и пользовательский кэш Sitecore.

person Jan Bluemink    schedule 07.09.2018