将来自SL4应用程序的多个请求排队到服务

时间:2011-09-20 19:15:20

标签: silverlight-4.0 asynchronous

我的Silverlight应用程序中有几个伪全局实体,这些实体填充了来自服务器的数据。我的“服务代理”类在IoC容器中注册为单例,因此它将缓存数据以防止过多地调用服务器。

但是,我遇到了在初始请求仍处于待处理状态时向“服务代理”发出多个请求的情况。当我研究导致这种情况的其他设计问题时,我想知道你可能有什么想法来处理这个问题。我最初的想法是,如果调用已经在进行中,请以某种方式对请求进行排队,然后在检索数据时处理它们。

1 个答案:

答案 0 :(得分:0)

毕竟我最终选择了队列和锁定方法。我有一个“忙”标志,表示服务呼叫正在进行中。如果为true,则通过将回调委托添加到集合来排队所有后续请求,并返回该方法。当异步服务调用返回时,我只是遍历集合并执行每个回调。它似乎工作得很好(在异步模型中)。