2013-03-17 16 views
5

La mia applicazione mvc 4 espone un livello API per 3 diverse applicazioni figlio. Sto usando un controller api singolo per tutte e tre le app figlio. Tutte queste tre app utilizzano il DB dell'app principale.mvc 4 web api per più applicazioni

Mi piacerebbe sapere se sto facendo qualcosa di sbagliato in questo. Inoltre, man mano che l'app si sviluppa, il controller API diventa pesante. C'è un buon modo con cui posso gestire l'app bambino nel progetto app genitore ?.

+0

Puoi fornire più contesto sulla tua domanda? Va bene avere un singolo punto di ingresso per la tua API, ma dividerei i metodi su diversi controller – amhed

risposta

5

È possibile utilizzare Aree per gestire le proprie app figlio in quella principale. Si prega di seguire i passaggi risposto nella domanda qui sotto per creare aree nel progetto

How to Configure Areas in ASP.NET MVC3

Per la gestione delle richieste API per aree, è necessario disporre di due percorsi nella registrazione zona.

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 } 
     ); 
    } 

Il primo percorso è per raggiungere l'api controller nell'area e il secondo per quelli regolari.

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

Il link qui sopra spiega di più su questo.

In questo modo è possibile separare le app secondarie e organizzare le proprie funzioni, le viste dei modelli (se presenti) nel progetto principale.

+0

Grazie..Areas era utile –

4

È possibile gestire le app secondarie in diversi controller API Web.

Problemi correlati