System.Runtime.Caching中有类似CacheDependency的东西吗?

11

我听说.NET 4有一个新的缓存API。

好吧,那么好古老的System.Web.Caching.Cache(顺便说一下,在.NET 4中仍然存在)具有设置所谓的CacheDependency对象的能力,以确定缓存项是否已过期。

通过从CacheDependency派生自定义子类,还可以指定用于确定缓存项是否仍可用的自定义逻辑。

我很好奇,在新的API中是否有提供这样的逻辑?


@Steven - 我指的是 .NET 4 中 System.Runtime.Caching 组件提供的 API。(抱歉,我不知道 Velocity 是什么。) - Venemo
2个回答

20

我还没有真正使用过它,但似乎从ChangeMonitor类派生的类具有类似的用途。


0

使用 System.Web.Caching.CacheCacheDependency 构建的示例代码如下:

CacheDependency cacheDependency = new System.Web.Caching.CacheDependency(null, new string[] { "dependentOnThisKey" });
cacheInstance.Add("someCacheKey", new object(), cacheDependency);

使用System.Runtime.Caching,可以将其转移到CacheItemPolicy ChangeMonitors。上面的示例变为以下内容:

CacheItemPolicy policy = new CacheItemPolicy();
policy.ChangeMonitors.Add(MemoryCache.Default.CreateCacheEntryChangeMonitor(new List<string> { "dependentOnThisKey" }));
cacheInstance.Add("someCacheKey", new object(), policy);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接