ASP.NET MVC APIまたはWCF API
-
25-10-2019 - |
質問
ASP.NET MVC 3アプリケーションを開発しています。このアプリケーションは、実装する必要があるAPIを使用する必要があります。 APIは両方ともASP.NET MVCコントローラーアクションとAJAXから利用できる必要があります。 ASP.NET MVCを使用してAPIを作成することは非常に簡単ですが、これを他のASP.NET MVC Webサイトアクションから使用することは可能ですか? WCFは単なるサービスリファレンスであるため、非常に使いやすいと思います。
APIの他のユーザーは、Windows PhoneとiPhoneです。
アップデート:
多くの人は、APIをデータを消費する場所としか見ていませんが、コマンドを実行したり、顧客を追加したり、fooを変更したりしたい部分はどうですか?
解決
PDCで発表された新しいWCF Web APIを確認することをお勧めします。最近、大きなアップグレードをリリースしました。 WCF Web APIは、純粋なHTTPでAPIをさまざまなクライアントに公開できるように設計されています。軽量で、優れた構成ストーリー(構成ファイルなし)を提供し、テストもはるかに簡単です。
ビットをダウンロードできます wcf.codeplex.com. 。さまざまなサンプルが含まれています。 ヌゲット 開始するためのパック。検索する webapi.all
ヌゲットで。
他のヒント
私がこれをするのが好きな方法は、Restful Controllerアクションを使用することです。 JSONを返して、自分のサイトでJavaScriptで通話を使用できます。他のウェブサイトはほぼ確実にJSONを理解しているので、APIを非常に簡単に消費することができます。これは、重いWCF層よりも書き込みとテストがはるかに簡単です。
MVCのいくつかの例の休憩フレームワークについては、この質問をご覧ください:
データフィードを達成する新しい方法の1つは、 odata. 。スコット・ハンセルマンには素晴らしい紹介があります 30分でXMLとJSONを含むStackOverFlow用のODATA APIの作成.
これにより、必要なデータを正確に取得するためにLINQクエリをURLに投入することもできます。
オープンデータプロトコル (オフィシャルサイト)
オープンデータプロトコル (MSDN、Microsoft)
WCF JSONのバインディングは、前回使用したときは本当にひどいものでした。 WCFには、ストリームに関するあらゆる種類のクレイジールールと、すべてに[メッセージボディ]属性をどのように使用する必要があるかについてのあらゆる種類のルールが付属しています。
それは私にとって本当のピタでした。
私は以前にこのようなことに答えたことを知っていました: