首页新闻找找看学习计划

如果在整页缓存中使用“局部不缓存”呢?

0
悬赏园豆:20 [已解决问题] 解决于 2008-09-17 08:42

大家都可以,很容易实现整页不缓存,让局部缓存:
只要使用用户自定义控件,然后对自定义控件进行缓存,这样还可以比较好共用。使用share=true还可以让一个用户自定义控件,在多个页面中共用同一个缓存对象。对此功能,我非常喜欢。。

然后一个网站中有很多的页面是“大部分内容可以缓存,而局部需要不缓存,比如整个页面上的用户登录信息”。
未登录则为“登录界面”,登录后的,则不“用户信息”。这块内容在整站的所有页面都存在。
那么,是否可以对整页进行缓存,然后可以定义局部为不缓存,比如定义一个用户自定义控件为“不缓存”,则不管页面如何缓存,只有这块部分是及时的。

我知道有个AdRotator控件具有此属性的。但是只是一个图片广告控件,不能自定义内容啊。
另一个是substitution控件,但是只能使用static的方法,返回一个“字符串”,这对于我的一个“局部区域”不适合。局部区域里包含了一些服务器端控件等。

请问高手,ASP.NET有这样的机制吗?
难道ASP.NET缓存机制如此的弱吗?

听棠.NET的主页 听棠.NET | 初学一级 | 园豆:130
提问于:2008-09-13 20:44
< >
分享
最佳答案
0

这是不可以的,Asp.net的输出缓存是内核模式的, 实在要用的话可以考虑使用js 调用或者服务器端包含文件的方式

沙加 | 老鸟四级 |园豆:3680 | 2008-09-13 21:25
其他回答(3)
0

全页缓存里似乎没法单独更新某一块。

@沙加:IIS Kernal Cache和ASP.NET的Output Cache虽然都能缓存页面但是其实是两个东西。

Jeffrey Zhao | 园豆:1629 (小虾三级) | 2008-09-13 21:38
0

你那个没法实现的,我现在一般都是通过ajax来处理这类问题。

Ants | 园豆:208 (菜鸟二级) | 2008-09-14 14:10
0

看楼主就感觉是在华山论剑,果然,然后几个天人出现了……

陛下 | 园豆:3938 (老鸟四级) | 2008-09-16 20:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册