2011-03-07 125 views
0

我想用一个WCF服务,并使用所有的移动平台iPhone,Android的,Blackbery,诺基亚等”它消耗跨平台WCF服务

请告诉我使用那些客户的WCF服务我最好的策略。它当然必须得到保证。

感谢

阿米特

回答

0

使用SOAP或JSON端点。大多数平台都会支持这些(或者很容易找到库)。 JSON更加面向Web(Javascript),但也适用于其他情况。

Mono支持WCF,所以也许他们的iPhone和Android也会支持它。

1

我不同意SOAP和JSON。使用带POX的REST满服务(普通的旧xml)。它将最有可能受到所有平台的支持。移动电话可能具有有限的SOAP堆栈实现,JSON通常与浏览器一起使用。我的朋友有黑莓,他不断抱怨对JavaScript的支持。

为了保护您的服务,请使用HTTPS。

0

完全同意@Ladislav不期望客户端能够使用SOAP。似乎SOAP堆栈缺乏,除非你的客户端是本地.NET或Java。您的客户将会通过允许他们选择JSON(Web客户端)或XML(系统集成)来感谢您。通过HTTPS和基本身份验证或API密钥进行安全保护。

如果您已经有一个现有的WCF服务基础设施,您想要为下层客户端进行聚合或调整,可以将POX(或“REST”)服务放在它们的前面,让它处理映射协议和格式为你。例如HTTP/S到TCP/IP和XML或JSON到SOAP。

好处是您可以让低级客户更容易地使用您的服务。缺点是你添加了一个额外的图层,这会导致复杂性。一些工具,如WCF Routing Service(免费)或Apigee(商业版),加上可靠的自动化部署流程,可以帮助减轻这种复杂性。

0

要构建支持XML或JSON的REST服务,请使用此template创建您的服务,该服务专为.NET 4.0设计。从那里你可以配置以XML或JSON响应的端点,并让你的客户告诉服务它需要什么响应类型。

编辑您还可以让服务以默认格式响应,以减少每个客户端必须指定什么格式。

<standardEndpoints> 
    <webHttpEndpoint> 
    <standardEndpoint name="" defaultOutgoingResponseFormat="Json"/> 
    </webHttpEndpoint> 
</standardEndpoints>