如何为Sitecore ControllerRendering启用缓存

Rob*_*lam 3 caching sitecore sitecore-mvc sitecore7.2

有没有办法为布局中静态声明的ControllerRendering启用Sitecore缓存?在Webforms中,您可以声明渲染的缓存设置,如下所示:

<sc:Sublayout ID="slMyControl" path="~/path/to/my/control.ascx" VaryByParm="true" Cachable="true" runat="server" />

但是,当我使用Html帮助程序时,Controller方法没有超载来接受缓存参数?

@Html.Sitecore().Controller("NAMESPACE", "ACTION")

我正在运行Sitecore 7.2

Kev*_*ühl 12

如果要静态绑定控制器呈现,则应使用Rendering()html帮助程序上的方法.在那里,您可以使用参数定义缓存:

@Html.Sitecore().Rendering("<your rendering definition item id>", new { Cacheable = true, CacheKey = "my_rendering", Cache_VaryByData = true })
Run Code Online (Sandbox Code Playgroud)

参数应与子布局中使用的名称相同,并带有Cache_前缀.

  • 太棒了,这似乎做得很好!你是否必须内联声明缓存设置,因为它似乎没有拾取渲染项目上声明的任何缓存设置? (2认同)