2013-03-17 10 views
5

Meine Anwendung mvc 4 macht eine API-Ebene für 3 verschiedene untergeordnete Anwendungen verfügbar. Ich verwende einen einzigen API-Controller für alle drei untergeordneten Apps. Alle diese drei Apps verwenden die DB der übergeordneten App.mvc 4 web api für mehrere Anwendungen

Ich würde gerne wissen, ob ich damit etwas falsch mache. Mit der Entwicklung der App wird der api Controller immer schwerer. Gibt es eine gute Möglichkeit, die Kind-App im Eltern-App-Projekt zu verwalten?

+0

Können Sie mehr Kontext für Ihre Frage bereitstellen? Es ist in Ordnung, einen einzigen Einstiegspunkt für Ihre API zu haben, aber ich würde die Methoden auf verschiedenen Controllern teilen. – amhed

Antwort

5

Sie können die Bereiche verwenden, um Ihre untergeordneten Apps im übergeordneten zu verwalten. Bitte folgen Sie der unten stehende Frage beantwortet Schritte Bereiche in Ihrem Projekt

How to Configure Areas in ASP.NET MVC3

Für den Umgang Api-Anfragen auf Bereiche zu erstellen, müssen Sie zwei Routen in der Umgebung Registrierung haben.

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

Die erste Route ist für das Erreichen eines api-Controllers im Bereich und die zweite für reguläre.

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

Der obige Link erklärt hierzu mehr.

Auf diese Weise können Sie Ihre untergeordneten Apps trennen und Ihre Funktionen organisieren, Ansichten (falls vorhanden) im übergeordneten Projekt modellieren.

+0

Danke..Areas war hilfreich –

4

Sie können die untergeordneten Apps unter verschiedenen Web-API-Controllern verwalten.

Verwandte Themen