我有一个包含用户控件的页面。页面结构如下所示:
如果您无法看到上面的图片,请在http://i54.tinypic.com/2r4id5f.jpg查看。现在,除了UserControl的内容之外,我还要缓存整个页面。我尝试在.aspx页面中使用OutputCache属性,但它也缓存了UserControl的内容。
请告诉我如何能够缓存除用户控件之外的页面内容。
提前致谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
我认为您可以使用asp.net Substitution control来实现这一目标。这是指向ScottGu walking through an example的链接。
基本思想是按照惯例缓存整个页面,但标记可替换每个请求的替换部分。
答案 2 :(得分:0)
我认为您正在寻找VaryByControl。另请查看片段缓存中的this post
答案 3 :(得分:-1)
您是否尝试将@OutputCache添加到usercontrol和页面,但usercontrol设置varyByParam =“qsvalue; postvalue”,其中qsvalue是生成的查询字符串,您为页面的每次调用随机生成查询字符串,并且后值相同用于回发。
用户控件仍然会被缓存,但理论上它永远不应该受到攻击,因为qsvalue / postvalue总是与缓存不同。它可能无法很好地扩展 - 最佳设置持续时间也是最小的,以防止大量数据库在缓存中累积。