Web Apps と API Apps を Azure にデプロイするためのチュートリアルをいくつか読んでいます。ただし、なぜ 1 つを別のものよりも使用するのかについては、まだ少しわかりません。
API コントローラーを使用して新しい .NET ソリューションを作成し、これを Web アプリとしてデプロイできるのに、なぜ API アプリが特に必要なのですか? これらは特に ASP.NET Web API 用に最適化されていますか? Web アプリは HTML を配信するためのものですか?
Web Apps と API Apps を Azure にデプロイするためのチュートリアルをいくつか読んでいます。ただし、なぜ 1 つを別のものよりも使用するのかについては、まだ少しわかりません。
API コントローラーを使用して新しい .NET ソリューションを作成し、これを Web アプリとしてデプロイできるのに、なぜ API アプリが特に必要なのですか? これらは特に ASP.NET Web API 用に最適化されていますか? Web アプリは HTML を配信するためのものですか?
アプリ サービスの種類によって違いがあった時期もありましたが、現在は違います。ドキュメントには次のように記載されています。
3 つのアプリの種類 (API、Web、モバイル) の唯一の違いは、Azure portal で使用される名前とアイコンです。
そのため、デプロイ先として選択するアプリ サービスの種類はもはや問題ではありません (アイコンがどのように見えるかを気にしない限り)。
アップデート
関数アプリは例外です。関数アプリを作成すると、ポータルのユーザー インターフェイスが変わります。ただし、基盤となる Web アプリも例外ではありません。FUNCTIONS_EXTENSION_VERSION
=という名前のアプリ設定を設定すると、~1
すべての Web アプリが関数アプリになります (ポータルのユーザー インターフェイスを除く)。
Web API と API アプリの間には多くの小さな違いがありますが、非常に重要で重要な違いは次のとおりです。
ネイティブ Swagger 実装 - Visual Studio で API アプリを作成すると、デフォルトで swagger 参照が付属します。Swagger は、API コンシューマが Swagger UI を介して API と対話するための開発者にとって非常に使いやすい機能を提供します。また、Swagger ベースの API はクライアント SDK 生成 (.Net ベースのクライアントと Javascript ベースのクライアントの両方) を提供し、通常のメソッド呼び出しと同じように API を簡単に呼び出すことができます。注: 通常の Web API での Swagger の実装は、手動で行うことができます。
API アプリを Azure Market Place に発行する機能。Azure Market Place は、無料または有料で使用できるすべての API アプリのパブリック リポジトリです。
Channel 9 からのこの15 分間のビデオでは、Api アプリについての優れた概要を説明しています。
ここに私のコメント:
API アプリ: 特定の機能に使用されます。URL からその機能をトリガーする。GET、POST、PUT、DELETE で使用できます。BODY(Json)でパラメータを受け取ることができます。有効なステータス コード (失敗、成功) を含む応答
Web APP: 顧客を作成、更新、削除するためのカタログや、完全な ERP を作成するためのカタログなど、複数の機能を備えたアプリケーション。
Function APP: API アプリと非常によく似ており、特定の機能に使用されます。URL からその機能をトリガーする。GET、POST、PUT、DELETE で使用できます。BODY(Json)でパラメータを受け取ることができます。有効なステータス コード (失敗、成功) を含む応答
これは何をしようとしているのかによって異なりますが、サービスを作成するときは Web API を使用します。ASP.Net Web API は、幅広いクライアントで使用できる HTTP サービスを構築するためのフレームワークです。これにより、Web アプリ用だけでなく、Android アプリ、IOS アプリ、Web アプリ、Windows 8 アプリ、WPF アプリなどに接続するために開くことができます。
したがって、Web サービスは必要だが SOAP は必要ない場合は、Web API を使用できます。
実際には、Azure WebApp に aspnet webapi をデプロイし、Worker Roles にセルフ ホストをデプロイできます。
WebApp (旧 Azure Web サイト) では、IIS にデプロイされるため、IIS の機能を利用できます。