2011-09-09 8 views
8

私のASP.NET MVC 3 WebサイトのWebサービスを構築しています。理想的には、すべてのクライアント(私のWebページ、iPhoneアプリケーション、Androidアプリケーション、Windows Phone 7アプリケーションなど)に同じサービスレイヤーを使用してデータをロードして保存したいと思っています。Android、iPhoneなどの.NET Webサービスフォーマット/プロトコル用の推奨事項

私はモバイル開発の初心者で、異機種モバイルデバイスの設定を使用するための好ましいメカニズム(SOAP/JSON/etc)があるかどうか疑問に思っていました。具体的には、AndroidとiOSがあるプロトコルよりも優れたライブラリ/サポートを提供しているのか、メインのモバイルプラットフォームがすべてのプロトコルを強力にサポートしているのかが疑問です。私はまた、上記のサービスを確保することにすべてがあるのか​​疑問に思っています。

何かアドバイスは非常に私はJSONとREST(FUL)のサービスをお勧めし

JP

答えて

14

おかげでいただければ幸いです。

AndroidとiOSの両方にXMLとJSONの解析をサポートするライブラリがありますが、JSONライブラリは少し使いやすく、少し高速です。

少し努力すれば、サービスでXMLとJSONの両方を提供/使用することができます。

もっと冗長で、より多くの帯域幅/バッテリに敏感なモバイルデバイスには適していないため、SOAPを避けることが望ましいでしょう。

1

私はほぼ同じ状況で、私は何をしているのですか、私はアンドロイドとiphone用のWCFrestサービスを作っています。

セキュリティに関して、私はロールベースのメンバーシッププロバイダを使用しています。だから、私は、モバイルクライアントの役割を持つモバイルクライアント用のユーザーを作成し、アンドロイドとiphoneの開発者に 'apiキー'としてユーザーID(guid)を与えます。

iphoneとアンドロイドの開発者は、リクエストのヘッダーに「api key」を送信する必要があります。

私のwcfで任意のメソッドを実行する前に、私はapiキーをチェックしており、また、アンドロイドまたはiphoneデバイスからのリクエストかどうかをチェックしています。

私は、これはあなたが少しあなたの開発を計画するために役立つことを願っています。.. :)

2

あなたはEntity Frameworkとともに、WCF Data servicesを試してみるためにこれは素晴らしい機会だろう。 XMLとJSONの両方のフレーバーでODataの国際標準を使用して情報モデルを公開します。インタフェースはRESTを通じてアクセス可能です。フロントエンドテクノロジ、ファット、Web、モバイルクライアントとの相互作用に問題はありません。

また、C#.NETの知識、ビジュアルスタジオ、および作成したアセンブリを再利用することで、必要に応じてWindowsアプリケーションとの統合を強化することができます。それは確かに私のためのトリックをした!だから、

  1. は、Entity Frameworkを使用してアプリケーションのモデルを作成します。最初に物理的なデータモデルを持っているか、最初にモデルを作成した場合は、最初からデータベースを作成しています。
  2. あなたがでチュートリアルを見つけることができますWCFののDataServices(コードの5行)

を使用して作成した情報モデルを公開:http://msdn.microsoft.com/en-us/magazine/ee336128.aspx

コーディングハッピー!

0

ksoap2を使用し、WCFサービスにbasicHTTPバインディングを使用させてください。

パラメータとしてプリミティブ型だけがある場合は、これは非常に簡単です。いくつかの作業では、より複雑な型にも使用できます。

関連する問題