Asp.net .NET缓存,奇怪的行为
为了尽量减少对数据库的访问,我们使用以下语句缓存特定记录:Asp.net .NET缓存,奇怪的行为,asp.net,vb.net,caching,Asp.net,Vb.net,Caching,为了尽量减少对数据库的访问,我们使用以下语句缓存特定记录: Cache("Article" & ArticleID) = objArticle 其中,“ArticleID”是一个整数变量,而objArticle是一个“Article”类型的对象,它有自己的属性 有时会更新特定记录,为了使缓存无效,我们将执行以下操作: If Not IsPostBack Then Dim objArticle As Framework.BusinessLogic.Article If C
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你的代码不安全,谢谢你的评论:)我想我现在知道怎么解决了。