我想我知道答案,但是我无法在文档或文章的任何地方找到确定的"is"或“否”。

使用.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对象方法以获取依赖关系,而不是现在需要的string []数组。感谢您的任何帮助,您可以提供。

最佳答案

答案是不。尚未在高速缓存中的cacheDependency的cacheKey不会插入使用该依赖项的项目的“插入”中的高速缓存中。

实际上,与依赖项一起插入的实际项甚至都不会进入缓存,因为它的依赖项在缓存中尚不存在。

10-07 12:01