Silverlight 同步获取WCF方法调用

Silverlight 同步获取WCF方法调用,silverlight,wcf,synchronization,Silverlight,Wcf,Synchronization,大家好 我有WCF服务,该服务具有OperationContract GetCustomer(); 和操作合同GetCustomerSetting(int customerId) 在silverlight中,我在silverlight页面的OnLoad方法上调用GetCustomer方法。 然后在GetCustomerCompleted方法上为每个客户调用GetCustomerSetting 如果我有10个Id为1,2,3…10的客户 如何确保GetCustomerSettingComplete

大家好 我有WCF服务,该服务具有OperationContract GetCustomer(); 和操作合同GetCustomerSetting(int customerId)

在silverlight中,我在silverlight页面的OnLoad方法上调用GetCustomer方法。 然后在GetCustomerCompleted方法上为每个客户调用GetCustomerSetting

如果我有10个Id为1,2,3…10的客户 如何确保GetCustomerSettingCompleted将同步获得调用
对于客户id 1、2和3。

无法同步进行WCF呼叫。在GetCustomerCompleted()函数中,您将在e.Result中获得该函数的返回值(您应该实际拥有客户的ID)


在该函数中,只需使用e.Results中的ID调用GetCustomerSettings()。

无法同步进行WCF调用。在GetCustomerCompleted()函数中,您将在e.Result中获得该函数的返回值(您应该实际拥有客户的ID)


在该函数中,只需使用e.Results中的ID调用GetCustomerSettings()。在我看来,这是一种很好的方法,可以用同步的方式处理多个异步调用。

看看这里和这里。在我看来,这是一种很好的方法,可以以同步方式处理多个异步调用。

如果顺序非常重要,那么您应该有一个方法,该方法将客户列表作为参数,并且仅在处理所有客户时才返回(即使客户机异步调用此操作).

如果订单非常重要,那么您应该有一个方法,该方法将客户列表作为参数,并且仅在处理所有客户时返回(即使客户机异步调用此操作)。

您可以扩展您的模型,使其具有isBusy访问器。在调用WCF时将isBusy设置为true,在完成后将isBusy设置为false。当您看到前一个对象的isBusy不再为真时,您可以触发下一个对象


我喜欢这样做,这样我就可以将isBusy绑定到视图上的某个操作,比如Telerik网格视图。

您可以扩展您的模型,使其具有isBusy访问器。在调用WCF时将isBusy设置为true,在完成后将isBusy设置为false。当您看到前一个对象的isBusy不再为真时,您可以触发下一个对象


我喜欢这样做,这样我就可以将isBusy绑定到我视图上的一个操作,比如Telerik网格视图。

Danbord我也这样做,但我没有得到e。GetCustomerSettingCompleted serialy作为客户id 1、2的结果,和3您的GetCustomer是否只返回一个客户或客户列表?Danbord我也这样做,但我没有得到e。GetCustomer设置的结果以客户id 1、2和3的形式连续完成?您的GetCustomer是否只返回一个客户或客户列表?