2013-03-17 5 views
5

Приложение mvc 4 предоставляет уровень API для трех разных дочерних приложений. Я использую один контроллер api для всех трех дочерних приложений. Все эти три приложения используют родительское приложение DB.mvc 4 web api для нескольких приложений

Я хотел бы знать, если я делаю что-то неправильно с этим. Кроме того, по мере того, как приложение развивается, контроллер api становится тяжелым. Есть ли хороший способ, с помощью которого я могу управлять дочерним приложением в проекте родительского приложения ?.

+0

Можете ли вы предоставить больше контекста по вашему вопросу? Это нормально, что у вас есть одна точка входа для вашего API, но я бы разделил методы на разных контроллерах. – amhed

ответ

5

Вы можете использовать Области для управления дочерними приложениями в родительском. Пожалуйста, выполните шаги ответили на вопрос ниже, чтобы создать области в проекте

How to Configure Areas in ASP.NET MVC3

Для обработки запросов API в области, вам нужно иметь два маршрута в зоне регистрации.

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 в области и второго для обычных.

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

выше ссылка объясняет больше об этом.

Таким образом вы можете разделить дочерние приложения и организовать свои функции, просматривать модели (если есть) в родительском проекте.

+0

Спасибо .. Было полезно –

4

Вы можете обрабатывать дочерние приложения под разными сетевыми контроллерами api.

Смежные вопросы