【问题标题】:WCF that can be consumed by cross platform clients可以被跨平台客户端使用的 WCF
【发布时间】:2012-07-02 18:40:44
【问题描述】:
我需要在 Azure 服务总线上托管 Web 服务 (WCF) 并将其公开以供跨平台客户端(.NET 或 java 或任何其他客户端)使用。有哪些不同的协议可以满足这种情况?我正在考虑使用预定义的 xsd 或 REST 或 SOAP 甚至 JSON 数据包的纯 XML 格式。我正在考虑使用 basicHttpRelayBinding 来公开合同。请指教。
【问题讨论】:
标签:
c#
wcf
web-services
azure
servicebus
【解决方案1】:
公开 SOAP 服务应该适用于绝大多数平台和语言。
【解决方案3】:
REST 为您提供了终极的可移植性,因为 URL 调试起来非常直观,并且在任何平台上都可以轻松创建此类接口。 JSON 基本上是这个路由的可选扩展,以统一的方式处理更复杂的类型;当然,当接口设计得尽可能简单时,REST 客户端工作得最好,不管有没有 JSON。
假设您使用 HTTP 绑定而不是 TCP 绑定,SOAP 是与 Java 接口的一种优雅的可能性。但是,您可能会遇到 SOAP 工具包不可用或不可靠的平台,并且 SOAP 的所有优点都会开始对您不利。