什么我应该知道,当发展互操作WCF网服务?
-
29-09-2019 - |
题
我开始这个维基,收集最佳做法的有关创建可互操作的网络服务(不客户)在WCF。请分享你的经验如果你知道任何的功能,这不是一般的互操作或哪些是不可互操作的,与特定的平台。
解决方案
相当简单:
避免使用任何.NET细节(例如例外)(将它们变成肥皂故障)
不要使用以下任何绑定
net
例如NetTCP,NetAmnamedPipes,NetMSMQ等 - 使用wsHttpBinding
用于安全的WS-*服务,以及basicHttpBinding
即使是最怪异的客户端平台,也可以最大程度地覆盖 /兼容不要使用netdatacontractserializer
其他提示
我建议WCF休息揭示多个序列化格式,绝对是XML的起动器。
一般互操作性:
- 只HTTP及HTTPS运输通道可互操作的
- 谈判的安全证书是不可互操作(negotiateServiceCredential在信息安全)。它使用TLSNego或可协议不是始终支持通过其他平台。
- HTTP流可能会导致麻烦为好
- 二进制编码HTTP道是不可互操作的
- OleTransactions是不可互操作的
- 使用服务的安全方面的照顾(estabilishSecurityContext在信息安全)。它使用WS-安全对话议定书不适用于某些平台
编辑:
- WSDualHttpBinding和CompositeDuplexBindingElement是不可互操作的
不隶属于 StackOverflow