跨平台WCF服务

时间:2011-03-07 13:42:37

标签: iphone android wcf security cross-platform

我想使用WCF服务并使用iPhone,Android,Blackbery,Nokia等所有移动平台消费它。

我最好的策略是将这些客户端与WCF服务一起使用。当然,它必须得到保障。

由于

阿米特

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

完全同意@Ladislav关于不期望客户能够使用SOAP的观点。除非您的客户端是本机.NET或Java,否则似乎缺乏SOAP堆栈。您的客户会感谢您选择JSON(Web客户端)或XML(系统集成)。通过HTTPS和基本身份验证或API密钥保护。

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

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

答案 3 :(得分:0)

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

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

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