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

你的代码不安全,谢谢你的评论:)我想我现在知道怎么解决了。