ASP.NET MVCプロジェクトをWebサービスとして使用した経験のある人はいますか?
つまり、ビューなしでASP.NET MVCを使用するため、他のアプリケーションはURLを使用してコントローラーのアクションにGETまたはPOSTできます。
誰かがそれを使用しましたか?もしそうなら、代わりにWebサービスプロジェクトを使用しないことの欠点はありますか?
よろしくお願いします!
ASP.NET MVCプロジェクトをWebサービスとして使用した経験のある人はいますか?
つまり、ビューなしでASP.NET MVCを使用するため、他のアプリケーションはURLを使用してコントローラーのアクションにGETまたはPOSTできます。
誰かがそれを使用しましたか?もしそうなら、代わりにWebサービスプロジェクトを使用しないことの欠点はありますか?
よろしくお願いします!
それは本当にあなたが書いているアプリケーションの種類に依存します。私は実際にLukLedの立場の逆を主張します-Windows認証のようなもの、またはTCPやMSMQのような異なるプロトコルをサポートしたい場合、SOAPベースのサービスは内部クライアントに適しています。
特定の「リソース」の周りでよりWebスタイルのGETおよびPOSTを使用すると、RESTアーキテクチャスタイルに慣れることができます。この手法には、私にとっていくつかの明確な利点があります。
ここでのトレードオフを理解するのに特に役立った記事の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
単純な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を使用できます。
新しいASP.NETMVCには、Web Api Kitが含まれています。これにより、必要な処理を正確に実行できます。現在のバージョンでも引き続き使用できます。それには本当の欠点はありません