我有一个需要输出缓存的 ASP.NET 应用程序。当从 Web 服务返回的数据发生更改时,我需要使缓存项无效,因此简单的持续时间是不够的。
我一直在阅读有关缓存依赖项的内容,并认为我的想法是正确的。看起来我需要为我的 Web 服务创建一个缓存依赖项。
要将页面输出与此依赖项相关联,我认为我应该使用以下方法:
Response.AddCacheItemDependency(cacheKey);
我正在努力解决的问题是我应该将什么添加到缓存中?
我的页面依赖于 Web 服务返回的单个值。我目前的想法是我应该通过子类化 CacheDependency 创建一个自定义缓存依赖项,并将当前值存储在缓存中。然后我可以使用 Response.AddCacheItemDependency 来形成依赖关系。
然后我可以定期检查值和 NotifyDependencyChange 以使我缓存的 HTTP 响应无效。
问题是,我需要确保立即刷新缓存,因此定期检查还不够好。如何确保在从缓存中获取 HTTP 响应之前重新评估缓存中代表 Web 服务返回值的依赖对象?
问候,科林 E。