2013-03-17 5 views
5

My mvc 4アプリケーションは、3つの異なる子アプリケーションのAPIレイヤを公開します。私はすべての3つの子アプリのための単一のAPIコントローラを使用しています。これら3つのアプリはすべて親アプリDBを使用しています。mvc複数のアプリケーション用の4つのWeb API

私はこれに何か悪いことをしているかどうかを知りたいと思います。また、アプリケーションが開発されると、APIコントローラが重くなります。親アプリプロジェクトで子アプリを管理できる良い方法はありますか?

+0

質問に文脈を追加できますか?あなたのAPIのための単一のエントリーポイントを持つことは大丈夫ですが、私は別のコントローラーでメソッドを分割します – amhed

答えて

5

エリアを使用して、親アプリで子アプリを管理することができます。プロジェクトエリアへのAPIリクエストを処理するための

How to Configure Areas in ASP.NET MVC3

に領域を作成するには、以下の質問に答えた手順に従ってください、あなたはエリア登録に2つのルートを持っている必要があります。

public override void RegisterArea(AreaRegistrationContext context) 
    { 
     context.Routes.MapHttpRoute(
      name: "Area_Name_Api", 
      routeTemplate: "Area_Name/api/{controller}/{action}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 
     context.MapRoute(
      "Area_Name_default", 
      "Area_Name/{controller}/{action}/{id}", 
      new { action = "Index", id = UrlParameter.Optional } 
     ); 
    } 

最初のルートは、エリア内のAPIコントローラに到達するためのもので、もう1つは通常のものです。

http://blogs.infosupport.com/asp-net-mvc-4-rc-getting-webapi-and-areas-to-play-nicely/

上記のリンクは、この詳細を説明します。

このようにすると、子プロジェクトを分離し、親プロジェクトの関数、モデルビュー(存在する場合)を整理することができます。

+0

ありがとう。 –

4

異なるWeb APIコントローラの下で子アプリケーションを処理できます。

関連する問題