我为HttpRuntime.Cache
中存储的所有用户提供了通用数据。
然后我在Session中存储了一些用户相关数据。
HttpRuntime.Cache
具有CacheDependency
机制,可用于定义缓存中项目之间的关系。
您将使用什么来处理Session和Runtime Cache之间的依赖关系?
除了CacheDependencies之外,还有CacheItemRemovedCallback
。如果可能的话,我可以在回调期间从每个会话中删除特定值。
答案 0 :(得分:2)
缓存依赖性以另一种方式工作,即当缓存依赖于其他东西时,而不是某些东西依赖于缓存。
使用CacheItemRemovedCallback
更新Session
对象中的项目是不可能的。回调未在特定用户的范围内调用,因此您无法访问Session
对象。您必须将数据保存在其他位置,以便您可以访问所有用户的数据,因为取决于从缓存中删除的项目的数据可能属于任何用户。