我们有一个基于Sitecore的响应式网站,与台式机不同,某些页面中的移动设备内容有所不同。我们正在使用Http Request用户代理来识别设备类型,并基于它具有不同的业务逻辑。
当我们为这些渲染启用了sitecore HTML缓存时,与用户代理逻辑配合使用的逻辑将不起作用。因为Sitecore缓存不会因设备而异。因此,对于其他设备,sitecore也会从渲染的相同HTML缓存中给出响应。
我们应该如何处理这种情况?
答案 0 :(得分:2)
您可以使用业务逻辑为用户代理创建自己的自定义“依据”。或使用按设备而异,但是您需要以Sitecore支持的方式使用设备,在/sitecore/layout/Devices
下创建设备并使用它们。
为RenderRenderingProcessor
创建一个Sitecore.Mvc.Pipelines.Response.RenderRendering
(mvc.renderRendering pipeline
)。并将复选框添加到模板/sitecore/templates/System/Layout/Sections/Caching/
有关代码示例,请参见 Custom Cache Criteria with MVC in the Sitecore from John West
有关缓存的更多信息,请参见Sitecore Caching and Sitecore Custom Cache