我的缓存中有两个项目
- 钥匙:猫
- 键:Animal_Vacinations
现在,Animal_Vacinations
对. _ Cat
因此,如果缓存项发生任何更改Cat
,则缓存项Animal_Vacinations
将失效。完美的 :)
好的..现在解决问题。
创建第二个缓存项(即Animal_Vacinations
)后,我添加了第三个缓存对象:-
- 钥匙:狗
问题是,第二个对象也需要依赖Dog
。在创建第二个对象时,它知道它应该依赖哪些项目。所以在这个例子中 Animal_Vacination 对象知道它应该依赖于......
- 猫
- 狗
- 鸟
- 乔恩斯基特
问题是,如果我尝试将Animal_Vacination
具有所有这 4 个依赖项的对象插入缓存,它会失败。没有错误,只是失败了。(即Cache["Animal_Vacination"] == null
)。
这样做的原因是,当我插入具有这 4 个依赖项的缓存对象时……但是其中 1 个或更多的依赖项不_exist_ ……它会优雅地失败。
真可惜。
因为在我上面的示例中,缺少的三个对象之一是在添加 2 个对象之后立即添加的。
所以......无论如何都可以将对象添加到缓存中,具有基于键的缓存依赖项,其中尚未创建 1 个或多个依赖项,但稍后可能会创建?