首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Silverlight 4缓存问题?

Silverlight 4缓存问题?
EN

Stack Overflow用户
提问于 2011-01-11 17:40:23
回答 2查看 571关注 0票数 0

我最近遇到了一个奇怪的缓存问题。当我初始加载数据时,我返回给定日期内的所有数据,我的图形如下所示:

然后,我过滤数据以返回相同日期范围内原始数据的子集(这并不重要),并获得以下数据视图:

但是,当我刷新数据的相同filterd视图时,会间歇性地得到以下结果:

可以看到,不是所有的数据都被缓存了,而是只缓存了其中的一部分,即2010年12月12日和2010年12月5日(这里没有显示)。我已经查看了我的查询,并且提取出了正确的数据。只有在表示层上,即在Mainpage.xaml.cs上,这种错误数据似乎才存在。

我已经遍历了代码,除了表示层之外,所有层的数据都是正确的。以前有没有人经历过这种情况?当我关闭浏览器缓存时,有没有某种类型的缓存在后台保存这些数据?

我在DomainContext的Load方法的回调方法中使用了LoadOperation,如果这有帮助的话...

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-11 23:25:56

我想我已经解决了这个问题,到目前为止一切都很好。我们需要的实际数据并没有为返回的每一行都有一个唯一属性。因此,我们最终要做的是使用sql row_number()来获得我们认为是一致的唯一id。然而,情况并非如此,因此我们得到了这些问题,尽管它不能完全解释为什么相同的两个数据段总是被返回。

无论如何,我最终做的是将一个随机数附加到返回的“唯一”id上,这就起到了作用。

票数 1
EN

Stack Overflow用户

发布于 2011-01-11 21:48:48

是的,我以前见过这个bug,但是我还没能在工具包的源代码中找到它的原因。在某些情况下,图表系列似乎无法删除现有系列的所有可视元素,因此遗漏了其中的一些。结果就是数据点的“余像”,它们根本不会消失。

我真的没有一个具体的工作来解决这个问题。由于您在回调方法中进行更改,因此一种可能性是使用Dispatcher.BeginInvoke将任何集合更改移动到UI线程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4656165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档