2010-12-02 6 views
3

DomainDataSource.AutoLoad とDomainDataSource.RefreshIntervalの関係を理解できません。Silverlight RIA Services DomainDataSource、AutoLoadとRefreshIntervalの間の関係

特定のDomainDataSourceに対してAutoLoadを有効にすると、サーバーには非常に高い頻度で繰り返して が繰り返し照会されています...これは私が望むものではありません。

私はRefreshIntervalを "00:00:10"(10秒ごとに?)に設定しましたが、 データはまったく読み込まれません。

AutoLoadをtrueに設定した場合、RefreshIntervalの値は何も影響していないようです。

そして、AutoLoadに関連すると思われるLoadDelayプロパティがあります。 ですが、これを10秒に設定しても、サーバーへの繰り返しのクエリは遅くなりません。

私が試しているアプリケーションがナビゲーションベースのアプリケーション であり、ページが読み込まれるたびに、より多くのクエリが同時に実行されるように見えるため、さらに悪化します。応用。

間違っていることは間違いありませんが、これらのプロパティの詳細を理解できないために何が分かりません。私はMSDNのドキュメントを読んだが、一度彼らは本当に役に立たなかった。

私は質問があいまいではないと思っています。

答えて

1

MSDNは、いくつかの光を投げかけ:自動ロードとRefreshIntervalがすべてでは直接関係がないよう

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 

ためだから、聞こえます。考慮すべき点の1つは、CanLoadプロパティです。多くの場合、falseに設定されます。それは、あなたのRefreshIntervalが機能しない原因となる可能性があります。 DomainContext内のいずれかのエンティティに保留中の変更がある場合、CanLoadはfalseに設定されます。

DDSに関する実際の専門家は、RIAサービスチームのメンバーです。彼らはRIA Services forumsにここ数多く出かけるので、良いアイデアがあるかもしれません。

+0

マット、私はそのリンクをチェックします、私はあなたの答えをまだマークしません、誰かが解決策を見つけたかもしれない。しかし、チップのthnx。それは私が行ったようにドキュメントから同じことを理解しているようだ...しかし(+1)CanLoadプロパティの問題について知りませんでした – TimothyP