WCF 异步调用
问个问题吧,假设我循环创造500个某类型的对象,然后每创造一个 就异步调用服务,然后得到的值 赋值给这个对象的属性?
这个问题咋解决呢?
现在想了2点。。,
1.创造对象时赋值,这样就必须再创造下一个对象之前得到返回的结果,然后赋值?这种方法怎样解决。。
2.把所有的对象创造完,在循环调用服务,在赋值?
这样哪种方法更好一些呢?
[解决办法]
楼主的需求很奇特,感觉像是在实现“链”的数据结构,能否把你的 class 代码发出来,再把需求举例说清楚些。
针对你说的第1点,虽然从字面上不是很理解你的做法和要求,凭经验,你可以采用“变并行异步为串行异步”的方式去实现,即当第一个请求返回后,在其 XXXXCompleted() 方法调用第二个异步请求,第二个请求返回后,在其 XXXXCompleted() 方法调用第三个异步请求,依次类推。
感觉你如果是在创建“链”的数据结构的话,应是一次性传递到服务端处理性能上要好一些,当然在传送的过程上需要进行一些设置或压缩。 还是得看到你的代码才能下结论。
[解决办法]