.Net Core中是否有CacheDependency类?似乎还没有实现。
我们有替代或解决方法吗?或者是否有关于此课程实施的未来计划?
这是.net框架支持的非常有用的功能,如何在没有它的情况下在缓存和文件之间建立依赖关系?
答案 0 :(得分:3)
您应该能够使用ChangeToken
来实现类似于CacheDependency的功能。您必须使用其中一个文件提供程序来获取IChangeToken
的实例。然后,此令牌可用作缓存的参数。
非常基本的样本:
IMemoryCache cache = GetCache();
string fileContent = GetFileContent("sample.txt");
// instance of file provider should be ideally taken from IOC container
var fileProvider = new PhysicalFileProvider(Directory.GetCurrentDirectory());
IChangeToken token = _fileProvider.Watch("sample.txt");
// file will be removed from cache only if it is changed
var cacheEntryOptions = new MemoryCacheEntryOptions()
.AddExpirationToken(changeToken);
// put file content into cache
cache.Set("sample.txt", fileContent, cacheEntryOptions);
中找到