维基百科的WS-Addressing页面指出:
WS 寻址通过指定包含终结点引用的公共 SOAP 标头 (wsa:ReplyTo) 来支持异步交互的使用
我有一个简单的 WCF 服务,我通过 SOAP 公开该服务。我可以看到 WSDL,根节点中有提到寻址的 XML 命名空间:
<wsdl:definitions ...
xmlns:wsa10="http://www.w3.org/2005/08/addressing"
xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
...
>
是否可以创建使用 WS 寻址的异步 WCF(或其他 .NET,但不能从头开始)客户端?
我添加了对控制台应用的服务引用,并且代理类看起来正确,但我如何知道我正在利用 WS 寻址?我知道我可以观察HTTP请求以查看它进行异步调用,但这需要反复试验。
我知道有"生成异步操作"复选框,我认为这利用了 .NET 中常见的开始/结束模式,而不是 WS 寻址?
异步操作和 WS 寻址的使用是正交的。寻址的使用是根据终结点中使用的绑定确定的,并定义客户端和服务器之间交换的消息的格式。
操作是同步或异步的事实不会影响网络上的消息 - 您可以将相同的消息定义为同步和异步,它们也应该正常工作。