如果我缓存了一个数据集对象,那么在此表数据发生变化之后,我将获得未更新的缓存数据。在这种情况下该怎么做,如何处理这种情况?
答案 0 :(得分:0)
您可以clone数据集保留原始值,然后将其设置为缓存。
HttpContext.Cache.Insert("datasetOrg", dataset.Clone());
HttpContext.Cache.Insert("dataset", dataset);
答案 1 :(得分:0)
您可以使用sqlcachedependency
类来实现此目的。当表或特定行发生更改时,具有依赖关系的项将无效并从缓存中删除。您可以在Microsoft SQL Server 7.0,SQL Server 2000和SQL Server 2005中设置对表的依赖关系。如果您使用的是SQL Server 2005,还可以设置对特定记录的依赖关系。
它将在.Net 2.0 +。msdn article for this