我对一个缓存了多个对象的网站有一个非常奇怪的问题。我们有很多缓存数据表、字符串、布尔值和其他东西,以便在以后的请求中快速获取。
有时我们会收到一个周期性错误,看起来某些缓存项已经混淆了。这种情况的一个例子是,当一段代码从缓存中获取一个 DataTable,然后尝试访问该 DataTable 的某个列时。然后我们看到一个黄色的死屏,除了“找不到列 [ColumnName]”,其中“ColumnName”当然是应该在 DataTable 中的某个列名。当我用一个自制的小工具检查缓存项时,我发现缓存项中有一个完全不同的 DataTable。几乎就像一些缓存项目被混淆了。
有人知道这是怎么发生的吗?
我们无法重现该错误。它以明显随机的间隔发生。