如何在数据缓存后正确获取数据?

时间:2014-11-05 10:10:43

标签: asp.net

如果我缓存了一个数据集对象,那么在此表数据发生变化之后,我将获得未更新的缓存数据。在这种情况下该怎么做,如何处理这种情况?

2 个答案:

答案 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

中运行