System.Runtime.Caching 中是否存在某种 CacheDependency?

发布于 2024-09-02 08:40:20 字数 230 浏览 5 评论 0原文

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

好吧,原来的 System.Web.Caching.Cache(顺便说一下,.NET 4 中仍然存在)能够设置所谓的 CacheDependency > 用于确定缓存项是否过期的对象。

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

我很好奇,有没有办法在新的 API 中提供这样的逻辑?

I heard that .NET 4 has a new caching API.

Okay, so the good old System.Web.Caching.Cache (which is, by the way, still there in .NET 4) has the ability to set so-called CacheDependency objects to determine whether a cached item is expired or not.

One can also specify custom logic for determining whether a cached item is still useable or not by deriving a custom subclass from CacheDependency.

I'm curious, is there a way to provide such a logic in the new API?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏の忆 2024-09-09 08:40:20

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

I haven't really used it yet but classes derived from ChangeMonitor Class appear to serve a similar purpose.

老娘不死你永远是小三 2024-09-09 08:40:20

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 更改监视器 。将上面的示例更改为以下内容:

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

Using System.Web.Caching.Cache with a CacheDependency was constructed something like the following:

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

With System.Runtime.Caching this moves into the CacheItemPolicy ChangeMonitors. The above example changes to the following:

CacheItemPolicy policy = new CacheItemPolicy();
policy.ChangeMonitors.Add(MemoryCache.Default.CreateCacheEntryChangeMonitor(new List<string> { "dependentOnThisKey" }));
cacheInstance.Add("someCacheKey", new object(), policy);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文