WCF - 复合IAsyncResult

时间:2010-07-19 19:33:06

标签: wcf web-services asynchronous

我有一个WCF服务,我想使用异步模式,因为它主要调用一系列Web服务,然后在返回所有Web服务调用后处理结果。

但是,WCF中的异步模式仅支持在BeginXXX方法中返回单个IAsyncResult。

我想知道是否有人有任何创建复合IAsyncResult的经验,可以在所有Web服务都返回后发出信号,或者有任何其他想法来处理这个问题?

1 个答案:

答案 0 :(得分:0)

我认为基本上你需要创建自己的自定义IAsyncResult实现,并对你的请求做一些严肃的簿记。我假设您要并行启动内部请求,然后等到返回之前完成所有操作,对吧?

如果是这样,那么我要做的是创建一个自定义的IAsyncResult,同时在内部跟踪与每个内部调用关联的每个IAsyncResults,然后只考虑我的自定义IAsyncResult(这意味着它都发出了它的等待句柄,如所有内部请求都完成后,以及触发任何回调。