Asp.Net Web API VS Asp.Net MVC
1 . Asp.Net MVC wird zum Erstellen von Webanwendungen verwendet, die sowohl Ansichten als auch Daten zurückgeben. Die Asp.Net-Web-API wird jedoch zum Erstellen vollständiger HTTP-Dienste auf einfache Weise verwendet, bei der nur Daten zurückgegeben werden, die keine Ansicht sind.
2 . Die Web-API hilft beim Erstellen von REST-fähigen Diensten über .NET Framework und unterstützt auch die Aushandlung von Inhalten (es geht darum, die besten Antwortformatdaten zu bestimmen, die vom Client akzeptiert werden können. Dies können JSON-, XML-, ATOM- oder andere formatierte Daten sein ), Selbsthosting, die nicht in MVC sind.
3 . Die Web-API kümmert sich auch um die Rückgabe von Daten in einem bestimmten Format wie JSON, XML oder einem anderen Format basierend auf dem Accept-Header in der Anforderung, und Sie machen sich darüber keine Sorgen. MVC gibt nur Daten im JSON-Format mit JsonResult zurück.
4 . In der Web-API werden die Anforderungen den Aktionen basierend auf HTTP-Verben zugeordnet, in MVC jedoch dem Aktionsnamen.
5 . Die Asp.Net-Web-API ist ein neues Framework und Teil des ASP.NET-Kernframeworks. Die Modellbindung, Filter, das Routing und andere MVC-Funktionen in der Web-API unterscheiden sich von MVC und sind in der neuen System.Web.Http-Assembly vorhanden. In MVC sind diese Funktionen in System.Web.Mvc vorhanden. Daher kann die Web-API auch mit Asp.Net und als eigenständige Serviceschicht verwendet werden.
6 . Sie können Web-API und MVC-Controller in einem einzigen Projekt mischen, um erweiterte AJAX-Anforderungen zu verarbeiten, die Daten in JSON-, XML- oder anderen Formaten zurückgeben und einen vollständigen HTTP-Dienst erstellen können. In der Regel wird dies als Web-API-Self-Hosting bezeichnet.
7 . Wenn Sie MVC und Web-API-Controller gemischt haben und die Autorisierung implementieren möchten, müssen Sie zwei Filter erstellen, einen für MVC und einen für Web-API, da beide unterschiedlich sind.
8 . Darüber hinaus ist die Web-API eine leichte Architektur und kann mit Ausnahme der Webanwendung auch mit Smartphone-Apps verwendet werden.
Originalquelle ist hier