存储在会话中的值取决于HttpRuntime缓存中的值

时间:2011-08-04 07:23:55

标签: asp.net session caching httpruntime.cache cache-dependency

我为HttpRuntime.Cache中存储的所有用户提供了通用数据。

然后我在Session中存储了一些用户相关数据。

HttpRuntime.Cache具有CacheDependency机制,可用于定义缓存中项目之间的关系。

您将使用什么来处理Session和Runtime Cache之间的依赖关系?

除了CacheDependencies之外,还有CacheItemRemovedCallback。如果可能的话,我可以在回调期间从每个会话中删除特定值。

1 个答案:

答案 0 :(得分:2)

缓存依赖性以另一种方式工作,即当缓存依赖于其他东西时,而不是某些东西依赖于缓存。

使用CacheItemRemovedCallback更新Session对象中的项目是不可能的。回调未在特定用户的范围内调用,因此您无法访问Session对象。您必须将数据保存在其他位置,以便您可以访问所有用户的数据,因为取决于从缓存中删除的项目的数据可能属于任何用户。