首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可由跨平台客户端使用的WCF

可由跨平台客户端使用的WCF
EN

Stack Overflow用户
提问于 2012-07-03 02:40:45
回答 3查看 1.2K关注 0票数 0

我有一个场景,我需要在Azure service Bus上托管一个web服务,并将其公开以供跨平台客户端(.NET或java或其他任何客户端)使用。有哪些不同的协议可以满足这种情况?我考虑的是一种带有预定义的xsd、REST、SOAP甚至JSON数据包的纯XML格式。我正在考虑一个basicHttpRelayBinding来暴露合同。敬请指教。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-03 02:46:39

REST为您提供了最终的可移植性,因为URL非常易于调试,并且很容易在任何平台上创建这样的接口。JSON基本上是这个路线的一个可选扩展,用于以统一的方式处理更复杂的类型;当然,当接口被设计得尽可能简单时,REST客户端工作得最好,不管有没有JSON。

假设您使用HTTP绑定而不是TCP绑定,SOAP是连接到Java的一种很好的可能性。但是,您可能会遇到SOAP工具包不可用或不可用的平台,并且SOAP的所有优点都将开始对您不利。

票数 0
EN

Stack Overflow用户

发布于 2012-07-03 02:44:36

对于绝大多数平台和语言,公开SOAP服务应该都能很好地工作。

票数 1
EN

Stack Overflow用户

发布于 2012-07-03 02:49:26

因为您希望服务由许多不同的客户机使用,所以我应该避免使用基于SOAP的绑定,如basicHttpRelayBinding,而使用webHttpRelayBinding

http://msdn.microsoft.com/en-us/library/microsoft.servicebus.webhttprelaybinding.aspx

这将使PHP、浏览器或移动设备等框架更容易使用您的服务。

此外,如果您的目标是移动客户端,那么一定要考虑JSON而不是XML。它可以显著减少您的消息有效负载大小-这对于移动客户端非常重要,因为人们可能会使用按字节付费的数据计划。

JSON显然也更适合javascript (浏览器)客户端使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11299323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档