SilverLight WCF数据服务一个接一个查询

时间:2011-12-08 12:09:57

标签: silverlight wcf

我有一个foreach循环,它发送WCF请求如下:

foreach (var rec in LstPRSCRPTActivated)
{                                   
    var OrderItemQueryActivated = GV.dbContext.Load(GV.dbContext.GetOrdritemsQuery((int)rec.PresNo));                     
    OrderItemQueryActivated.Completed += new EventHandler(OrderItemQueryActivated_Completed);
}

在WCF数据服务中,我有以下代码:

public IQueryable<OrderItem> GetOrdritems(int PresNo)
{
    return this.ObjectContext.OrderItems.Where(o => o.ScriptNo == PresNo);           
}

如果第二个查询花费的时间少于第一个查询,则在回调事件OrderItemQueryActivated_Completed中,我从第二个查询中获取结果,然后从第一个查询中获取结果。但我不希望以这种方式发生。我想首先获得第一个查询的结果,然后是第二个。有没有办法在服务中使用某种等待来做到这一点?

1 个答案:

答案 0 :(得分:1)

是否可以创建一个复合服务调用,在一次调用中执行所有操作?如果没有,您可以并行调用所有操作并等待它们完成以获得结果。