24

私はいくつかの要素を含むプロジェクトに取り組むつもりです:

  • ASP.NETMVCWebサイト
  • C#コンソールアプリケーション
  • iPhoneアプリ

これらすべての個別のアプリケーションがデータベースと通信できるようにするために、私はすぐにWCFサービスを使用することを考えました。

ただし、サードパーティが独自のアプリケーションからレコードを選択、挿入、更新できるように、サイトにAPIを追加する必要があります。

私の考えでは、WCFサービス上に別のRESTfulサービスエンドポイントを作成するだけで、認証を使用してロックダウンされ、特定のメソッドへのアクセスのみが許可されます。

しかし、私は今日、RESTfulAPIの最新のものとなることを意図したMVC4のWebAPI機能について読んでいますか?

Web APIを使用する必要がありますか?または、他のアプリケーションにWebサービスが必要なため、WCFサービスを使用する必要がありますか?

4

6 に答える 6

16

RESTful開発を行う場合は、ASP.Net Web Api(元々はWCF Web Apiと呼ばれ、「RESTを.NETの第一級市民にする」ことを目的として作成されたもの)を使用することをお勧めします。

考慮すべきもう1つの点は、WCFRESTスターターキットがサポートされなくなったことです。

Web Apiを使用しても、自己ホスト型であってもASP.NetMVCまたはIISを使用する必要があるわけではないことに注意してください。

本質的に非CRUDである操作を処理するには、グーグル「RESTnon-CRUD」をお勧めします。このブログ投稿では、CRUD以外の操作用のRESTful URL(特にコメントが興味深い)を見つけました。RPC呼び出しが必要であると判断した場合は、WCFを使用して呼び出す必要があります。とはいえ、WCF RESTが廃止されているため、最善の解決策がどうなるかはわかりません。両方を持つことがおそらく最良の答えですが、同時にそれは必ずしも良い答えではありません。

もう1つの代替手段はWCFODataサービスですが、それがiPhoneからサポートされるかどうかはわかりません。

最後にもう1つポイントを作成します(これは時間に敏感であるため、将来削除される可能性があります)

Microsoftはベータ版のGoLiveライセンスを提供しています。これは、Microsoftによってサポートされており、ファイルRTMへのアップグレードに問題がないことを意味します。

于 2012-02-29T17:27:08.227 に答える
6

サービススタックもオプションのように見えます。

デモ、概要、例はこちらから入手できます

于 2012-02-29T16:11:19.980 に答える
4

ここに正しい答えはありません。確かに、WCFRESTfulサービスでかなりうまくいくことができます。または、ASP.NETMVCを使用することもできます。どちらも完全に有効であり、どちらにも長所と短所があります。

最終的には、最も保守しやすいと感じるものを使用することをお勧めします。

MVC 4はベータ版であることに注意したいので、バグに注意し、ベータ版が終了するまで公開しないでください。

于 2012-02-29T16:11:33.667 に答える
1

私はあなたが使用しようとしているすべてのプラットフォームで最高のサポートを持っているものを見ることに傾倒するでしょう、私はiPhoneアプリがあなたの選択を推進することになるかもしれないと思います。

それが純粋な.netだったとしても、私はまだSOAPサービスを身に着けている傾向があります-最近はクールとは見なされていませんが、カスタムソリューションをロールすることなく、ほとんどのプラットフォームで必要なことを実行できます。

編集

ASP.NET Web APIは、.NETがRESTful APIを開発するための優れたフレームワークを提供することを意味します。私はこれに傾倒するだろうと答えを修正します。進歩は素晴らしいです!

于 2012-02-29T16:19:14.953 に答える
1

ASP.NET MVC Webサイトを作成するので、プログラミングモデルが非常に似ており、これらのソリューションが多かれ少なかれ相互に統合されているため、ASP.NETWebAPIを使用するのも非常に快適です。

于 2012-02-29T16:31:29.627 に答える
0

同じ質問があります。

MSDNサイトでは、 http: //msdn.microsoft.com/en-us/library/jj823172(v = vs.110).aspx

iPhoneやJSONまたはxmlのWebアプリクライアントなどのマシン消費には、WebAPIが推奨されるオプションであると彼らが言ったビデオチュートリアルを見つけました。そのビデオの最後の部分の周り。

より複雑なマシン間通信には、WCFが適しています。

http://channel9.msdn.com/Series/Building-Web-Apps-with-ASP-NET-Jump-Start/Building-Web-Apps-with-ASPNET-Jump-Start-04-Building-a-Service- Layer-with-ASPNET-Web-API

これが彼らのプレゼンテーションのスクリーンショットです。

ここに画像の説明を入力してください

于 2014-11-19T15:57:38.857 に答える