我有一个WCF服务,我想对它使用异步模式,因为它主要调用一系列web服务,然后在所有web服务调用都返回后处理结果。
但是,WCF中的异步模式仅支持在BeginXXX方法中返回单个IAsyncResult。
我想知道是否有人有创建组合IAsyncResult的经验,一旦所有web服务都返回,就可以发出信号,或者有任何其他想法来处理这个问题?
发布于 2010-07-20 04:05:47
我认为基本上您需要创建自己的自定义IAsyncResult实现,并围绕您的请求做一些认真的记账工作。我假设你会想要并行地激发你的内部请求,然后等到所有的请求都完成后再返回,对吧?
如果是这样,那么我要做的就是创建一个自定义IAsyncResult,同时在内部跟踪与每个内部调用关联的每个IAsyncResults,然后只在所有内部请求完成时才考虑我的自定义IAsyncResult完成(这意味着既发出等待句柄信号,也触发任何回调)。
https://stackoverflow.com/questions/3284365
复制相似问题