2011-03-07 94 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>