从SL3多次调用数据服务?

时间:2010-05-29 04:03:57

标签: silverlight silverlight-3.0

我有一个SL3,可以对数据服务进行异步调用。基本上,有一个树视图绑定到一组对象。该想法是,当用户选择特定的树视图项时,对数据服务进行调用,其中特定于所选择的树视图的参数被传递到数据服务中的相应web方法。数据服务将数据返回给SL3客户端,客户端将数据呈现给用户。

这很有效。问题是,当用户使用键盘上的箭头键开始浏览树视图时,他们可以按下向下箭头键,例如10次,并且将对数据服务进行10次调用,然后每次调用将立即向用户显示10个项目,直到完成最近选择的树视图项目的数据。

所以 - 问题。我如何设置某种形式的延迟,允许某人快速浏览树视图,然后,一旦停在某个treeviewitem,就会调用数据服务?

感谢您的任何建议。

克里斯

2 个答案:

答案 0 :(得分:0)

将Rx用于silverlight

答案 1 :(得分:0)

正如funwithcoding所建议的那样,你可以尝试使用Reactive Extensions for .Net (Rx),我自己没有使用它,但是从我听到它会做你想要的事情。

但是,如果您不想/有时间学习Rx等,可能会在调用服务检索之前使用DispatcherTimer在Treeview选择的事件中创建一个轻微的延迟数据。