我们有一个基于站点核心的响应式网站,与桌面不同,它在某些页面中针对移动设备提供了不同的内容。我们使用 Http Request 用户代理来识别设备类型,并基于它有不同的业务逻辑。
当我们为这些渲染启用了站点核心 HTML 缓存时,与用户代理逻辑一起工作的逻辑就不起作用了。因为站点核心缓存不会因设备而异而失效。因此,对于不同的设备,sitecore 也会从渲染的相同 HTML 缓存中给出响应。
我们应该如何处理这种情况?
我们有一个基于站点核心的响应式网站,与桌面不同,它在某些页面中针对移动设备提供了不同的内容。我们使用 Http Request 用户代理来识别设备类型,并基于它有不同的业务逻辑。
当我们为这些渲染启用了站点核心 HTML 缓存时,与用户代理逻辑一起工作的逻辑就不起作用了。因为站点核心缓存不会因设备而异而失效。因此,对于不同的设备,sitecore 也会从渲染的相同 HTML 缓存中给出响应。
我们应该如何处理这种情况?
您可以使用用户代理的业务逻辑创建自己的自定义“变化方式”。或者使用因设备而异,但您需要按照 Sitecore 支持的方式使用设备,在下方创建您的设备/sitecore/layout/Devices
并使用它们。
为. RenderRenderingProcessor
_ Sitecore.Mvc.Pipelines.Response.RenderRendering
_ mvc.renderRendering pipeline
并将复选框添加到模板/sitecore/templates/System/Layout/Sections/Caching/
有关代码示例,请参阅 John West 的 Sitecore 中使用 MVC 的自定义缓存标准
有关缓存的更多信息,请参阅Sitecore 缓存和 Sitecore 自定义缓存