3

ASP.Net MVC 4 Web APIがWebクライアントにもたらす価値を理解して感謝しています(Knockout、jQueryと組み合わせた場合)。ただし、これがサーバー側の内部Webサービスでどのように機能するかはわかりません。WebAPIから離れることはオプションではありません。

私の要件は、jQueryから同じサービスを呼び出すことと、JavaScriptクライアントからアクセスできないASP.Net MVCコントローラー(UI上)で必要ないくつかの呼び出しについても呼び出すことです。

私はデイブのこの投稿を偶然見つけました:http://encosia.com/rest-vs-rpc-in-asp-net-web-api-who-cares-it-does-both/。必要なのはRPCスタイル(私はWCFに慣れています)であり、WebAPIがそれをサポートしていることを理解しました。

これはAzureアプリケーションであるため、この記事のACSを使用してセキュリティで保護できます。

サーバー(URL)への呼び出しを制限することで、必要な呼び出し(別のAPIコントローラーの場合もあります)を保護できる可能性があります。

  1. 情報を利用するには、フロントエンドコントローラーでHttpClientを使用する必要があると想定しています。
  2. 結果をフロントエンドコントローラーのエンティティにシリアル化して戻すことはできますか?
  3. このアプローチに代わるものはありますか?
  4. とりわけ、これは実行可能なアプローチですか?

前もって感謝します

4

1 に答える 1

2

あなたの場合、ASP.NET Web API がプレゼンテーション層にあることがわかります。ASP.NET MVC もプレゼンテーション層にあるため、MVC が Web API を呼び出すことはおそらく意味がありません。

シンプルなアプローチ (そして私は常に KISS を提唱しています) は、MVC と Web API の両方から同等にアクセスできるビジネス層を持つことです。したがって、MVC は Web API に移動してから BL に移動する代わりに、直接移動します。

ただし、コンテキスト境界をカプセル化し、クライアントと MVC が同等に使用できる SOA Web API ファサードを設計している場合は、Authorization を使用して、誰が何にアクセスできるかを制御することをお勧めします。これは、OAuth またはその他のスキームである可能性があります。

于 2012-10-13T12:48:11.320 に答える