为了最大限度地减少对数据库的访问,我们使用以下语句缓存特定记录:
Cache("Article" & ArticleID) = objArticle
其中“ArticleID”是整数变量,而objArticle是“Article”类型的对象,它具有自己的属性。
有时会更新特定记录,为了使缓存无效,我们会执行以下操作:
If Not IsPostBack Then
Dim objArticle As Framework.BusinessLogic.Article
If Cache("Article" & ArticleID) Is Nothing OrElse InvalidateCache = True Then
If Not Cache("Article" & ArticleID) Is Nothing Then
Cache.Remove("Article" & ArticleID)
End If
objArticle = New Framework.BusinessLogic.Article(ArticleID)
Cache("Article" & ArticleID) = objArticle
Else
objArticle = Cache("Article" & ArticleID)
End If
....
End If
问题是,当对象更新(也无效)时,用户会报告随机查看同一对象的不同版本,并且单个用户可能会在每次刷新时看到不同的版本。
请告知。
祝你好运, McHaimech