我在理解DomainDataSource.AutoLoad之间的关系时遇到麻烦
和DomainDataSource.RefreshInterval。
如果我为给定的DomainDataSource启用自动加载,则正在查询服务器
重复率很高...这不是我想要的。
因此,我将RefreshInterval设置为“00:00:10”(每10秒对吧?),然后
数据根本没有加载。
如果将AutoLoad设置为true,则RefreshInterval的值似乎不会影响任何事情。
然后是LoadDelay属性,它似乎与AutoLoad有关,
但是将其设置为10秒不会减慢对服务器的重复查询。
由于我正在尝试的应用程序是基于导航的应用程序,因此情况变得更糟
每次加载页面时,即使您转到应用程序中的其他页面,似乎也会同时执行更多查询。
我肯定会做错事,但是我无法弄清楚是什么原因,因为我不了解这些属性的细节。我阅读了MSDN文档,但是有一次它们并没有真正帮助。
我希望这不是一个模糊的问题。
最佳答案
MSDN提供了一些启示:
When AutoLoad is true, any property change affecting the load query
will automatically invoke a Load after the specified LoadDelay.
Examples of properties that impact the query are PageSize and
FilterOperator. Also, changes to dependency object collections, such as
FilterDescriptors and changes to the dependency properties on elements
contained in those collections, will affect the query and prompt
an automatic Load.
和为RefreshInterval
When a non-zero TimeSpan is specified, a Load operation is automatically
invoked each time the interval elapses, as long as CanLoad is true. When
this property is set, a timer starts, regardless of the value of the
AutoLoad property or whether a Load has been executed previously
因此,听起来AutoLoad和RefreshInterval根本没有直接关系。需要考虑的一件事是CanLoad属性,在很多情况下,该属性都设置为false。这可能是导致您的RefreshInterval无法正常工作的原因。如果DomainContext中的任何实体具有待定的更改,CanLoad都将设置为false,这可能会在您不意识到的情况下发生。
DDS的真正专家是RIA服务团队的成员。他们在RIA Services forums上闲逛的次数比这里多得多,因此询问可能是个好主意。
关于silverlight - Silverlight RIA服务DomainDataSource,自动加载和RefreshInterval之间的关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4336049/