我有一个现有的ASP.NET网络表单解决方案(在Sitecore上,如果有帮助的话),我们正在添加一些缓存,并且需要使用回发来保证安全。我们将outputcache指令与两个页面(即Sitecore布局)和控件(子布局)以及VaryByCustom一起使用。
为了以编程方式从控件中设置缓存参数,我们正在调查BasePartialCachingControl与ControlCachePolicy的使用,详见此处:https://msdn.microsoft.com/en-us/library/system.web.ui.basepartialcachingcontrol(v=vs.100).aspx https://msdn.microsoft.com/en-us/library/system.web.ui.controlcachepolicy(v=vs.100).aspx
但是,当asp:BasePartialCachingControl标记作为包装器添加到控件时,我们得到"未知服务器标记' asp:BasePartialCachingControl'"解析器错误。为类的命名空间添加import指令没有帮助。我们如何解决这个问题?谢谢。
答案 0 :(得分:0)
Sitecore为您提供开箱即用的用户控件输出缓存,您可以使用Sitecore静态绑定Sublayout,并将其映射到您的用户控件,并且有一个属性用于缓存,您可以根据几个不同的标准而有所不同:
<sc:Sublayout ID="myControl" path="~/path/to/my/control.ascx" VaryByData="true" Cachable="true" runat="server" />
如果您正在使用Sitecore的动态绑定,请转到子布局,您可以在缓存部分下面定义缓存:
如果您想通过其他参数更改缓存,请查看此链接: https://briancaos.wordpress.com/2015/12/18/sitecore-sublayout-caching-vary-by-cookie/