如何编写使用 WS 寻址的异步 WCF 服务和客户端



维基百科的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 寻址的使用是正交的。寻址的使用是根据终结点中使用的绑定确定的,并定义客户端和服务器之间交换的消息的格式。

操作是同步或异步的事实不会影响网络上的消息 - 您可以将相同的消息定义为同步和异步,它们也应该正常工作。

最新更新