首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

WCF 异步调用,该怎么处理

2012-02-25 
WCF 异步调用问个问题吧,假设我循环创造500个某类型的对象,然后每创造一个 就异步调用服务,然后得到的值

WCF 异步调用
问个问题吧,假设我循环创造500个某类型的对象,然后每创造一个 就异步调用服务,然后得到的值 赋值给这个对象的属性?

这个问题咋解决呢?

现在想了2点。。,
1.创造对象时赋值,这样就必须再创造下一个对象之前得到返回的结果,然后赋值?这种方法怎样解决。。
2.把所有的对象创造完,在循环调用服务,在赋值?
这样哪种方法更好一些呢?

[解决办法]
楼主的需求很奇特,感觉像是在实现“链”的数据结构,能否把你的 class 代码发出来,再把需求举例说清楚些。

针对你说的第1点,虽然从字面上不是很理解你的做法和要求,凭经验,你可以采用“变并行异步为串行异步”的方式去实现,即当第一个请求返回后,在其 XXXXCompleted() 方法调用第二个异步请求,第二个请求返回后,在其 XXXXCompleted() 方法调用第三个异步请求,依次类推。

感觉你如果是在创建“链”的数据结构的话,应是一次性传递到服务端处理性能上要好一些,当然在传送的过程上需要进行一些设置或压缩。 还是得看到你的代码才能下结论。
[解决办法]

探讨
针对你说的第1点,虽然从字面上不是很理解你的做法和要求,凭经验,你可以采用“变并行异步为串行异步”的方式去实现,即当第一个请求返回后,在其 XXXXCompleted() 方法调用第二个异步请求,第二个请求返回后,在其 XXXXCompleted() 方法调用第三个异步请求,依次类推。

感觉你如果是在创建“链”的数据结构的话,应是一次性传递到服务端处理性能上要好一些,当然在传送的过程上需要进行一些设置或压缩。 还是得看到你的代码才能下结论。

[解决办法]
你是需要控件中的某个属性?可以尝试分离属性声明和服务调用或者,如果服务器处理能力强,交给服务器处理该功能,会更直接,比每次开一个服务要节省很多资源。

热点排行