【问题标题】:How can i enable caching for a Sitecore ControllerRendering如何为 Sitecore ControllerRendering 启用缓存
【发布时间】:2014-09-26 02:11:32
【问题描述】:

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

【问题讨论】:

    标签: caching sitecore sitecore7.2 sitecore-mvc


    【解决方案1】:

    如果你想静态绑定一个控制器渲染,你应该在 html 帮助器上使用Rendering() 方法。在那里您可以使用参数定义缓存:

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

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

    【讨论】:

    • 太棒了,这似乎做得很好!您是否必须内联声明缓存设置,因为它似乎没有拾取在渲染项上声明的任何缓存设置?
    • @RobEarlam 据我所知,渲染项上的缓存设置仅用于动态绑定。
    【解决方案2】:

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

    【讨论】:

    • 欢迎来到 StackOverflow。这是一个专业的问答网站。请访问How to Answer
    猜你喜欢
    • 1970-01-01
    • 2022-07-28
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    相关资源
    最近更新 更多