2012-08-08 6 views
6

私はASP.Net MVCとASP.Net Web APIを初めて使用しています。ホストASP.Net web apiと別のMVCアプリケーションから消費

私はWebサービスに取り組んできました。

しかし、ASP.Net Web APIをどのようにホストし、別のASP.Net MVCアプリケーションから同じものを使用するかわかりません。私は人々が同じプロジェクトのAPIを使用しているサンプルをいくつか見つけました。現実の世界では、その使用法が1つのプロジェクトに限定されることは本当に疑問です。

同じことを説明できる例やリンクを投稿してください。

答えて

5

MVC WebアプリケーションでASP.NET Web APIをホスティングすると、APIを使用してWebクライアントからAJAX型の呼び出しを行うことがほとんどです。同じプロジェクトでAPIとWebアプリケーションを使用することで、JSONPを必要とするクロスドメインAjax呼び出しの問題が排除されます。しかし、ASP.NET Web APIは、必要に応じて、JsonMediaTypeFormatterのようなカスタムフォーマッタを使用して、WebApiContribからJSONPを簡単にサポートできます。

ASP.NET Web APIを使用すると、REST APIを簡単に開発できます。 MVCでコントローラを開発するのと同じ規則を使います。 Webアプリケーションとは別のものを作成するには、MVC 4プロジェクトを作成し、ビューをレンダリングするための標準コントローラの代わりにApiControllerを使用してコントローラを作成します。次に、IISに任意のWebアプリケーションと同じようにアプリケーションを展開します(WindowsサービスのようなものでASP.NET Web APIを自己ホストすることもできます)。ここはan example on the official ASP.NET Web API website that calls a REST API developed in ASP.NET Web API from a console applicationです。このサイトにはもっと多くの例があります。

+0

ありがとうKevin .... – Naresh

+0

しかし、特定のビジネス要件では、WebアプリケーションサーバーはWebサーバーとは異なるアクセスレイヤー上にある必要があります(セキュリティ要件を満たすなど)。そのような場合、従来のWebサービスの使用を選択する必要はありません。 –

+0

@HoàngLong - "従来のWebサービスの消費"とは何ですか?また、「Webサーバーとは異なるアクセスレイヤ」とは何ですか? –

関連する問題