我怎样才能找到支持多平台的绑定?

时间:2011-08-14 06:22:14

标签: .net wcf

在WCF中,支持多平台系统通信的绑定是什么?

我需要知道哪些绑定支持.NET和Unix以及Mac和Java。

我使用WCF的事实是否要求另一方是.NET?

3 个答案:

答案 0 :(得分:1)

basicHttpBindingwsHttpBinding以及相关的绑定都完全基于行业标准,因此应该互操作。

任何net*绑定显然都不可互操作。

您不需要双方都是.NET。

答案 1 :(得分:1)

要注意的一件事是因为设计的绑定是可互操作的并不意味着它必然可以与其他平台的工具包一起使用。

例如:wsHttpBinding支持WS-AtomicTransaction,这是一个商定的标准。但是,大多数其他Web服务工具包不支持WS-AtomicTransaction

甚至更极端:Android和iOS不支持SOAP,因此您必须使用webHttpBinding

要获得SOAP的最大范围,您可能只能使用basicHttpBinding。要使用更丰富的协议,需要其他平台支持这些协议。而且,特别是如果您不知道您的服务消费者将是谁,强制使用WS-Security等只会阻止人们使用您的服务

答案 2 :(得分:0)

一般来说,HTTP端点是与开箱即用的其他服务兼容的端点。我有一个example wcf service绑定到我用于示例等的几个端点,我将触及web.config中的三个http端点设置:

  • webHttpBinding 此设置为JSON服务,但我相信您也可以将其配置为其他简单的非SOAP http请求。此端点用于通过标准http调用进行通信,而不是SOAP。
  • basicHttpBinding 这是一个非常基本的SOAP实现,它不实现任何WS- *扩展。这意味着它与非Microsoft SOAP客户端的互操作性最强。
  • wsHttpBinding 这实现了几个WS- *扩展而不是basicHttpBinding。如果您的soap客户端支持这些,这是一个好主意使用。例如,WSO's WSF framework for php将允许您使用此绑定来使用Web服务
  • 最后,不是端点,而是扩展Eyal P的 WCFExtras 将把WCF WSDL压缩成一个文件。如果您在Web浏览器中查看WCF WSDL,它会引用另一个WSDL和四个XSD文档。
相关问题