ASP.Net CacheDependency对象问题

时间:2010-11-24 20:29:00

标签: c# asp.net caching asp.net-3.5 cache-dependency

我想我知道答案,但我无法在文档或文章中找到明确的是或否。

使用.Net 3.5 ASP.Net缓存,如果你让CacheDependency传递一个cacheKeys的字符串[],那么传递的cacheKeys会被插入到使用依赖关系的Insert的缓存中,如果它们还不存在的话?

CacheDependency dependency = 
    new CacheDependency(null, new string[] { "abc", "def", "ghi"});
HttpRuntime.Cache.Insert("123", "xxx", dependency);

因此,当缓存项目“123”被插入时,如果缓存中没有一个带有“def”键的项目怎么办?它会被创建吗?

如果没有,有没有办法接受那个CacheDependency对象,并找出它创建的密钥,那么我可以循环遍历它们并根据需要添加它们?

基本上,我尝试允许将CacheDependency对象传递到我的自定义CacheManager对象方法中,而不是我现在需要的字符串[]数组。感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:5)

答案是否定的。缓存中尚未存在的cacheDependency的cacheKeys不会插入到使用依赖项的项目的Insert中的缓存中。

实际上,使用依赖项插入的实际项目甚至没有进入缓存,因为缓存中不存在依赖项。