我开始这个维基,收集最佳做法的有关创建可互操作的网络服务(不客户)在WCF。请分享你的经验如果你知道任何的功能,这不是一般的互操作或哪些是不可互操作的,与特定的平台。

有帮助吗?

解决方案

相当简单:

  • 避免使用任何.NET细节(例如例外)(将它们变成肥皂故障)

  • 不要使用以下任何绑定 net 例如NetTCP,NetAmnamedPipes,NetMSMQ等 - 使用 wsHttpBinding 用于安全的WS-*服务,以及 basicHttpBinding 即使是最怪异的客户端平台,也可以最大程度地覆盖 /兼容

  • 不要使用netdatacontractserializer

其他提示

我建议WCF休息揭示多个序列化格式,绝对是XML的起动器。

一般互操作性:

  • 只HTTP及HTTPS运输通道可互操作的
  • 谈判的安全证书是不可互操作(negotiateServiceCredential在信息安全)。它使用TLSNego或可协议不是始终支持通过其他平台。
  • HTTP流可能会导致麻烦为好
  • 二进制编码HTTP道是不可互操作的
  • OleTransactions是不可互操作的
  • 使用服务的安全方面的照顾(estabilishSecurityContext在信息安全)。它使用WS-安全对话议定书不适用于某些平台

编辑:

  • WSDualHttpBinding和CompositeDuplexBindingElement是不可互操作的
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top