【问题标题】:Multiple calls to data service from SL3?从 SL3 多次调用数据服务?
【发布时间】:2010-05-29 04:03:56
【问题描述】:

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

这很好用。问题是当用户开始使用键盘上的箭头键在树视图中导航时,他们可以按向下箭头键,例如,按 10 次,将会对数据服务进行 10 次调用,然后每个将立即向用户显示 10 个项目,直到最后选择的树视图项目的数据结束。

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

感谢您的任何建议。

克里斯

【问题讨论】:

    标签: silverlight silverlight-3.0


    【解决方案1】:

    将 Rx 用于 Silverlight

    【讨论】:

      【解决方案2】:

      按照 funwithcoding 的建议,您可以尝试使用 Reactive Extensions for .Net (Rx),我自己没有使用过,但据我所知,它可以满足您的需求。

      但是,如果您不想/没有时间学习 Rx 等,可以在调用服务检索数据之前使用DispatcherTimer 在 Treeview 选定事件中创建轻微延迟.

      【讨论】:

      • 如果我选择在选定的事件中添加延迟,那是否仍然会产生同样的问题,除非现在我会多次延迟调用 Web 服务?
      • 是的,确实如此。我想我要说的是,在计时器到期后,您必须检查该项目是否仍然是 Treeview 中的选定项目。如果是,则调用,如果不是,则不执行任何操作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 2019-11-16
      • 2018-12-04
      相关资源
      最近更新 更多