ASP.Net CacheDependency对象问题

Bil*_*ole 5 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);
Run Code Online (Sandbox Code Playgroud)

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

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

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

Bil*_*ole 5

答案是不.尚未在高速缓存中的cacheDependency的cacheKeys不会插入到使用依赖项的项的Insert上的高速缓存中.

实际上,使用依赖项插入的实际项甚至不会进入缓存,因为缓存中不存在依赖项.