【发布时间】:2010-07-13 15:27:44
【问题描述】:
我正在尝试缓存用户控件,并且在某些页面上我想缓存单个对象。有多种实现缓存的方法,我的脑子都在想。
我现在看到缓存选项的方式:
您有 PartialCaching 选项,该选项设置为将控件缓存 30 分钟,之后它会自行清除...... >
但我只是找不到合适的方法来向控件添加缓存,并且当我从后端更新控件中使用的对象之一时能够以编程方式清除缓存。
您可以执行 HttpContext.Current.Cache.Insert(),它接受一个键,您可以稍后通过使用 remove 来销毁缓存项...这可以将对象保存在缓存中,但您可以使用像 varyByParam 这样的选项吗?
我的问题归结为两个:
- 有没有办法从代码中清除特定用户控件上的缓存?如果可以,可以根据varyby选项来完成吗?
- 对象缓存将如何响应使用 Insert() 的登录用户或匿名用户?
编辑: 我正在缓存多个东西....而且我真的很惊讶在哪个选择中提到缓存。 Cache.Insert 可以通过Parameters改变吗?
主要问题是人们从后端编辑内容,这需要触发一个事件来重新实例化或清除所有引用该对象的缓存项。
【问题讨论】:
-
你到底在缓存什么?看起来你正在做某种数据缓存,这与页面缓存有很大不同(这就是 varyByParam 的内容)。