Sitecore:通过代码隐藏中的自定义参数进行缓存?

Sitecore:通过代码隐藏中的自定义参数进行缓存?,sitecore,sitecore6,Sitecore,Sitecore6,我们希望在特定页面上启用Sitecore 6中的缓存,但是,此页面具有基于随机值的图像集-因此,我们实际上需要缓存每个单独呈现的页面,以便保留此“随机”图像 有什么建议吗?我认为我们需要使用sublayout参数,但看不出如何在代码中设置它来影响缓存行为 有没有直接操作缓存项的方法 问候, Andy创建Sitecore中定义的外部子布局,例如MyComponent。在代码中,静态绑定一个内部子布局,例如myComponentNNER,在前者的C#中,将varyByArms值设置为随机数。只是为了

我们希望在特定页面上启用Sitecore 6中的缓存,但是,此页面具有基于随机值的图像集-因此,我们实际上需要缓存每个单独呈现的页面,以便保留此“随机”图像

有什么建议吗?我认为我们需要使用sublayout参数,但看不出如何在代码中设置它来影响缓存行为

有没有直接操作缓存项的方法

问候,


Andy

创建Sitecore中定义的外部子布局,例如MyComponent。在代码中,静态绑定一个内部子布局,例如myComponentNNER,在前者的C#中,将varyByArms值设置为随机数。

只是为了回答我自己的问题!我发现这样做的方法是通过以下代码从UserControl访问子布局:Sitecore.Web.UI.WebControls.Sublayout sub=this.Parent as Sitecore.Web.UI.WebControls.Sublayout;如果(sub!=null&&sub.VaryByParm){sub.Parameters=“Image=“+num;}只要您的子布局设置了VaryByParam,就会设置参数,然后缓存-完美结果。我希望完成同样的事情。在本例中,我的子布局是一个UserControl。我可以从我的代码隐藏中访问Sitecore.Web.UI.WebControls.Sublayout参数,如您所述。但是,如果您正在缓存的页面的代码隐藏中设置可变参数,那么这将如何工作?页面第一次被点击时不会被缓存吗?然后每个后续的请求都不会到达后面的代码?在这种情况下,永远不会设置可变参数?