如何为Sitecore ControllerRendering启用缓存

时间:2014-09-26 02:11:32

标签: caching sitecore sitecore7.2 sitecore-mvc

有没有办法为布局中静态声明的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

2 个答案:

答案 0 :(得分:11)

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

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

参数应与子布局中使用的名称相同,前缀为Cache_

答案 1 :(得分:0)

这有效,我尝试使用Controller渲染。您可以通过将其附加到工作进程来验证它,并且在刷新同一页面时不应该达到断点。它还取决于用于缓存的参数。