2010-12-02 12 views
3

Je n'arrive pas à comprendre la relation entre DomainDataSource.AutoLoad et DomainDataSource.RefreshInterval.Silverlight Services RIA DomainDataSource, relation entre AutoLoad et RefreshInterval

Si j'active AutoLoad pour un DomainDataSource donné, le serveur est interrogé à plusieurs reprises à un débit très élevé ... ce n'est pas ce que je veux.

J'ai donc défini RefreshInterval à "00:00:10" (toutes les 10 secondes à droite?), Mais les données ne sont pas chargées du tout.

Si je définis la valeur AutoLoad sur true, la valeur de RefreshInterval ne semble affecter aucun élément.

Et puis, il y a la propriété LoadDelay, qui semble être liée à AutoLoad, mais le réglage à 10 secondes ne ralentit pas les requêtes répétées sur le serveur.

Cela devient encore pire parce que l'application que j'essaie est une application basée sur la navigation et chaque fois qu'une page est chargée, plus de requêtes semblent être exécutées en même temps, même lorsque vous allez à une autre page dans le application. Je fais définitivement quelque chose de mal, mais je n'arrive pas à comprendre quoi, parce que je n'arrive pas à comprendre les spécificités de ces propriétés. J'ai lu les documents MSDN, mais pour une fois, ils n'ont pas vraiment aidé. Je souhaite que ce ne soit pas trop vague d'une question.

Répondre

1

MSDN jette une certaine lumière:

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. 

et 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 

Il semble donc que le chargement automatique et RefreshInterval ne sont pas une relation directe du tout. Une chose à considérer est la propriété CanLoad, qui est définie sur false pour beaucoup de choses. C'est peut-être ce qui empêche votre RefreshInterval de fonctionner. CanLoad est défini sur false si une entité du domaine DomainContext a des modifications en attente, ce qui peut se produire sans que vous en soyez conscient à certains moments.

Les vrais experts de DDS sont membres de l'équipe RIA Services. Ils traînent sur le RIA Services forums beaucoup plus qu'ici, donc demander il pourrait y avoir une bonne idée.

+0

Matt, je vais vérifier ce lien, je ne vais pas marquer votre réponse pour le moment, peut-être que quelqu'un a trouvé une solution. Mais merci pour les conseils. Il semble que vous compreniez la même chose à partir des docs que je l'ai fait ... ne connaissait pas les problèmes de propriété CanLoad si (+1) – TimothyP