2016-12-25 3 views
5

Ich weiß, dass Asp.Net MVC und Asp.Net Web API in Asp.net Core zu einem Code zusammengeführt wurden und sie erben von Controller Basisklasse und können alle Rückgabe Implementierungen von IActionResult. es ist eine Ansicht für MVC oder Json für Web-API.Web Application vs Web Api Projekttypen in Asp.net Kern

Aber wenn ich ein Asp.net Core Projekt erstellen möchten, bietet es zwei Vorlagen (Web Application and Web Api), nach dem, was ich oben sagte, gibt es keine Unterschiede zwischen diesen Controllern, warum zwei Vorlagen gibt es? Gibt es Unterschiede, von denen ich nichts weiß?

Antwort

6

Die Webanwendungsvorlage erstellt Ordner und importiert Zeug, das für eine Webanwendung wie jquery, css usw. benötigt wird. Web-API-Vorlage erstellt Ordner und importiert Zeug für eine Web-API. Außerdem haben die standardmäßig erstellten Controller unterschiedliche Implementierungen. So gibt beispielsweise die Webanwendung Ansichten zurück und die Ansichten werden im entsprechenden Ordner erstellt.

Obwohl sie von denselben Controllern stammen, erfordert jeder Projekttyp unterschiedliche Abhängigkeiten.

Wenn ich Sie wäre, würde ich weitermachen und für jeden Typ einen erstellen und den Unterschied sehen.

Wenn Sie sowohl Web-API als auch Webanwendung im selben Projekt verwenden möchten, verwenden Sie areas. Auf diese Weise haben Ihr Web und Ihre API separate Controller, Ordner und Modelle. Auch wenn Sie sie in Zukunft trennen möchten, wird es einfach sein.

+0

Ich möchte ein Projekt erstellen, das zwei APIs und Controller hat, es ist besser, dass ich sie voneinander trennen und sie in verschiedenen Projekten oder im selben Projekt erstellen (im Controller Ordner habe ich sowohl MVC als auch Api Controller)? – pejman

+0

Siehe meine Bearbeitung bitte – CodingYoshi

+0

Gibt es einen Vorteil (oder Nachteil) zu erstellen eine leere Lösung und dann nur ein asp.net Core Web App-Projekt und ein asp.net Core Web API-Projekt vs nur einen separaten Ordner oder Bereich für die API Projekt innerhalb des Web-Anwendungsprojekts? – Reza

3

Der Unterschied zwischen 2 Vorlagen sind

Die WebAPI Vorlage beginnt mit einer Controller-Klasse, die Sie RESTful-Anfragen an dem/api/Wert Endpunkt reagieren können.

Die Webanwendungsvorlage gibt Ihnen ein MVC-Framework-fähiges Projekt mit einigen Razor-Ansichten, dem Bootstrap-CSS-Framework und der installierten jQuery-Bibliothek.

Wenn Sie ein Projekt mit MVC- und API-Controllern erstellen möchten, würde ich vorschlagen, mit der ASP.NET Core Web Application-Vorlage zu gehen und Abhängigkeiten hinzuzufügen.