我正在浏览有关 WebServices 的 MSDN 文档。Here http://msdn.microsoft.com/en-us/library/fwb442hw%28VS.80%29.aspx and here http://msdn.microsoft.com/en-us/library/55xs7d7f%28VS.71%29.aspx,这两个链接都讨论了调用Web服务并等待响应,这也是我在异步实现时看到的总体趋势。
我不明白“为什么我们需要等待服务呼叫返回”?而且,如果我们在等待,为什么不进行同步调用。 “异步调用后等待”和“同步调用”有什么区别?
为了发挥作用,异步调用需要在您执行其他操作时执行其操作。有两种方法可以做到这一点:
为异步句柄提供回调方法,以便它可以在完成时通知您,或者 http://msdn.microsoft.com/en-us/library/ms228972.aspx
定期检查异步句柄以查看其状态是否已更改为“已完成”。 http://msdn.microsoft.com/en-us/library/ms228968.aspx
您不会使用 WaitHandle 来完成这两件事。但是,WaitHandle 类使客户端可以进行异步调用并等待:
- 单个 XML Web 服务
(
WaitHandle.WaitOne
),
- 第一个 XML Web 服务
(
WaitHandle.WaitAny
), or
- 许多 XML Web 服务的全部
(
WaitHandle.WaitAll
)
返回结果。
换句话说,如果你使用WaitOne
or WaitAny
在返回多个结果的异步 Web 服务上,您可以从 Web 服务调用中获取单个结果,并且在等待剩余结果时处理它.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)