CacheDependency类被称为缓存依赖项,其具体意义表现在当缓存对象的实际数据发生改变时,它能及时通知缓存对象。
例如缓存对象Category保存的是一个xml文件的数据,如果xml文件发生变化,那么系统通过CacheDependency类就能及时更新缓存对象category的内容,
保证用户读取的永远是最新的数据。
Demo中,缓添加的缓存依赖项是xml文件,当xml文件改变时,依赖项 CacheDependency 能够感知到改变,此时缓存就会为null。
可以通过类CacheDependency的HasChanged属性来判断依赖性是否改变,当依赖项发生改变时,要重新手动进行缓存,而不是自动进行缓存。
依赖项改变时,需要重新实例化依赖项,这样属性HasChanged才会变为false
本例中使用的是xml数据
对文件进行缓存:
读取缓存代码:
当xml文件改变时,dep.HasChange能够监听到,会变为true,此时需要重新缓存文件。当xml没有发生改变时,直接从缓存中读取数据。