开发可互操作的 WCF Web 服务时我应该了解什么?
我创建此 Wiki 是为了收集有关在 WCF 中创建可互操作的 Web 服务(而非客户端)的最佳实践。如果您知道任何通常无法互操作或无法与特定平台互操作的功能,请分享您的经验。
I'm starting this Wiki to collect best practices about creating interoperable web services (not clients) in WCF. Please share your experience if you know any feature which is not generally interoperable or which is not interoperable with specific platform.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
相当简单:
避免任何 .NET 细节,例如异常(将它们转换为 SOAP 错误)
不要使用任何以以下开头的绑定
net
如 netTcp、netNamedPipes、netMsmq 等 - 使用wsHttpBinding
实现安全 WS-* 服务,使用basicHttpBinding
实现最大范围/兼容性最奇怪的客户端平台不要使用 NetDataContractSerializer
Fairly simple:
avoid any .NET specifics like Exceptions (turn them into SOAP faults)
don't use any binding that start with
net
like netTcp, netNamedPipes, netMsmq and so forth - usewsHttpBinding
for secure WS-* services, andbasicHttpBinding
for maximum reach / compatibility with even the weirdest client platformsdon't use the NetDataContractSerializer
我建议 WCF REST 公开多种序列化格式,对于初学者来说绝对是 xml。
I recommend WCF REST exposing multiple serialization formats, definitely xml for starters.
一般互操作性:
编辑:
General interoperability:
Edit: