どの.NET RESTアプローチ/テクノロジー/ツールを使用すべきですか?


16

RESTful Webサービスと、主にSilverlightにあるいくつかのクライアントアプリケーションを実装しています。APIのサーバー側とクライアント側の両方を開発するための多数のオプションを見つけていますが、どちらが最善のアプローチかはわかりません。私は、安定性と、数か月後に存在し続けるプラットフォームについて心配しています。

.NET 3.5でRESTスターターキットの使用を開始しましたが、.NET 4.0への更新時に新しいWCF Web APIに移行しました。すべてのドキュメントは、WCF Web APIがRSKの代替品であることを示しています。ただし、Web APIはPreview 4のみにあり、SilverlightまたはWindows Phone 7クライアントのサポートはまだ含まれていません。

WCF Web APIは、System.ServiceModel.Webライブラリで提供されるWCF WebHttp Servicesの上部のラッパーのように見えるため、組み込みのものを使用する方が簡単かもしれませんが、Web APIにはいくつかの素晴らしい機能があります。

クライアント側に最適なコースを決定しようとして、私は特に縛られています。私の主な要件は、クライアント側オブジェクトへのデシリアライズを迅速かつ簡単にサポートする必要があることです。Web APIは優れたクライアントライブラリを提供しますが、Silverlightバージョンはありません。

最新のアプローチと、積極的に開発およびサポートされているツールセットを使用したいと思います。

  1. REST Starter Kitは本当に時代遅れですか?

  2. WCF Web APIツールキットの実装に成功した人はいますか?

  3. にある組み込みのWCF WebHttpサービス機能でこれらのいずれかを使用するメリットはありSystem.ServiceModel.Webますか?

  4. どのクライアント(Web、Silverlightなど)でも機能する単一のソリューションはありますか?

どのような提案がありますか?


servicestack
Mithir

回答:


6

プレビュー5でフォローアップして投稿を締めくくるには、WCF Web APIが大きく飛躍し、REST APIを非常に簡単に作成できるようになりました。また、Codeplexの現在のコードベースにはSilverlightクライアントが含まれていませんが、ツールキットがあり、Async-CTPの部分をオープンソースコードから簡単に削除してSLバージョンを作成できました。

WCFでRESTを使用することに興味がある人は、フレームワークを調べることを強くお勧めしますhttp : //wcf.codeplex.com

参考までに、.NET 4.5の統合された部分であり、ASP.NET MVCと同じコアフレームワーク上で実行されるように現在書き換えられています(ただし、セルフホスティングは間違いなくサポートされると言われていますが)。


1

私はRESTスターターキットを使用していませんが、現在.net 4.0 WCF REST APIを書いているので、それがまだ存在することをかなり確信しています:)

odataをご覧になることをお勧めします。驚くほど素早く簡単にコーディングでき、silverlightでうまく再生できます。


WCF Web APIツールキットによって提供される機能の1つは、うまく機能するODataサポートです。しかし、Silverlightバージョンを持っていないことは私を助けません。クライアント側でデシリアライズをどのように処理していますか?
-SonOfPirate

私はWP7 silverlightでそれをやっただけです。サービス参照を追加して、それを呼び出しただけです。Webクライアントを使用して、自分で応答をデシリアライズすることもできます。難しくない
トムスクワイアズ

meHttpエンドポイントをサポートするWCFでRESTを有効にするためにwebHttpBindingを使用するとは思わなかった。サービス参照をどのように追加しますか?それは、データコントラクトを含む共通ライブラリを共有するよりも私の好みです。
-SonOfPirate

ええ、私はサービスの参照を追加しました。構成ファイルでエンドポイントを定義する必要がある場合があります。
トムスクワイアズ

SilverlightがWebHttpBindingをサポートしていないことを(難しい方法で)知りました。そのため、mexエンドポイントとサービス参照の追加を公開できたとしても、エンドポイントを解決できないため、サービスは呼び出しを行いません。
SonOfPirate

1

WCF Web APIは、サービスプロキシの生成に使用するメタデータ情報を提供しないため、サービス参照を追加できます。ASP.NET MVC 4 Web APIフレームワークを使用する場合と同様に、WCF傘下でRESTサービスを簡単に作成することを目的としています。

したがって、WP7またはSilverlightのサポートはありませんが、Webの残りの部分にはほぼ完璧です。

ただし、WCF Data Servicesは適切な候補のように見えます。これにより、RESTfulサービスを作成し、Silverlightで簡単に利用できます。


SilverlightクライアントでWeb APIをほぼ1年間使用しており、問題はありません。
-SonOfPirate
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.