我必须在不阻塞 UI 线程的情况下依次调用多个 WCF 方法。
每个方法都必须在调用下一个方法之前完成。
我已经使用 svcutil 设置了我的 WCF 服务,因此我有一个可用的同步方法的异步版本。
如果我调用异步版本,这些方法将同时执行,这是我想要避免的。
如果我调用同步版本,UI 线程被阻塞,所以我的 UI 没有响应,这是我想要避免的。
如何调用异步版本并在下一次调用之前等待每个调用完成,而不阻塞 UI 线程?
假设我必须循环每次出现要由 WCF 方法处理的对象:
foreach (MyObject obj in SomeCollection)
{
myWCFProxy.TreatObject(obj); // This is a duplex service and I am handling its callback in a separate method.
// I would like to wait here (without blocking the UI thread) until the method returns.
}
我怎样才能做到这一点 ?