LINQ Cache问题

时间:2010-07-23 09:32:40

标签: asp.net vb.net linq

我对LINQ很新,并且对于看似不规则的内容缓存存在问题。有问题的网站现在有6个不同主题的内容区域,在奇怪的场合,内容只是空白或者所有6个区域都有相同的内容。它会随着时间的推移自行解决这个问题,或者解决它的唯一方法是回收应用程序池:(

尝试过使用

DBLocal.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues,ret)

但这导致了类似的问题。

有没有其他人遇到这个问题,因为我似乎无法在网上找到任何关于它的信息

由于 克林顿

添加代码:

Dim discussionDetails As Model.Discussion = Services.Discussion.getById(discussionId)


Public Function getById(ByVal discussionId As Integer) As Model.Discussion
Dim _discussion As Model.Discussion = DBLocal.Discussions.SingleOrDefault(Function(p) p.DiscussionId.Equals(discussionId))
Return _discussion
End Function

1 个答案:

答案 0 :(得分:0)

您尚未向我们展示DBLocal实例的生命周期。它应该是每个请求最长,理想情况下每单位工作。

您没有向我们展示将讨论分配给内容区域的代码,也没有向我们展示调用此方法的代码(调用频率以及代码从哪里获取ID?)

考虑这些情况。

  • 如果没有匹配的实例,SingleOrDefault将返回null。
  • 如果有多个匹配的实例,则抛出SingleOrDefault。