16

ASP.NET MVCプロジェクトをWebサービスとして使用した経験のある人はいますか?

つまり、ビューなしでASP.NET MVCを使用するため、他のアプリケーションはURLを使用してコントローラーのアクションにGETまたはPOSTできます。

誰かがそれを使用しましたか?もしそうなら、代わりにWebサービスプロジェクトを使用しないことの欠点はありますか?

よろしくお願いします!

4

3 に答える 3

9

それは本当にあなたが書いているアプリケーションの種類に依存します。私は実際にLukLedの立場の逆を主張します-Windows認証のようなもの、またはTCPやMSMQのような異なるプロトコルをサポートしたい場合、SOAPベースのサービスは内部クライアントに適しています。

特定の「リソース」の周りでよりWebスタイルのGETおよびPOSTを使用すると、RESTアーキテクチャスタイルに慣れることができます。この手法には、私にとっていくつかの明確な利点があります。

  • 特にJSONのような軽量フォーマットを使用する場合、応答は通常小さくなります
  • リクエストとレスポンスがシンプルなため、モバイル/ネイティブアプリケーションでの使用がはるかに簡単になります(たとえば、TwitterのAPIを参照してください)。
  • 作成するサービスは、通常のWebページと同じようにAPIの他の部分にリンクできるため、自己記述的で検出可能です。

ここでのトレードオフを理解するのに特に役立った記事の1つは、MartinFowlerの「StepsTowardtheGloryofREST」です。 そうは言っても、それはあなたのアプリケーションに適切であるかもしれないし、そうでないかもしれません。

よりRESTベースのサービスを構築することを選択した場合は、他の人が述べているように、MVC4に組み込まれているASP.NETWebAPIの使用を必ず検討してください。現在ベータ版ですが、Microsoftは、本稼働ライセンスを付与するのに十分な満足感を持っています。

アップデート:

ASP.NETコア以降、ASP.NETWebAPIはMVC6プロジェクトに統合されています。 https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6

于 2012-05-28T03:05:31.880 に答える
9

単純なGETおよびPOST呼び出しを使用する場合は、MVCが適しています。ASP.NET MVC 4は、HTTPベースのAPIの作成をサポートします。あなたはここでそれについて読むことができます:http ://www.asp.net/web-api

Webサービスプロジェクトで作成されたWebサービスは、WSDLファイルを生成できるため、より使いやすくなります。WSDLファイルは、(SOAPプロトコルを使用して)さまざまな言語で簡単に読み取って使用できます。一方、WSは、独自の形式を使用した場合、何倍も小さくなる可能性のある巨大なXML応答を作成できます。

Webサービスを世界中に広めたい場合は、SOAPを許可すると、多くの開発者の作業が楽になります。SOAPは、プログラミングについてほとんど知らない人が使用できます。内部で使用し、速度と単純な要求と応答を好む場合は、MVCを使用できます。

于 2012-05-28T01:21:35.783 に答える
2

新しいASP.NETMVCには、Web Api Kitが含まれています。これにより、必要な処理を正確に実行できます。現在のバージョンでも引き続き使用できます。それには本当の欠点はありません

于 2012-05-28T02:36:36.467 に答える