有没有办法为布局中静态声明的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
答案 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渲染。您可以通过将其附加到工作进程来验证它,并且在刷新同一页面时不应该达到断点。它还取决于用于缓存的参数。