c# - nachfolger - wcf vs rest




WCF vs ASP.NET Web API (7)

ASP.net Web API ist alles über HTTP und REST-basierte GET, POST, PUT, DELETE mit gut bekannten ASP.net MVC Stil der Programmierung und JSON rückgabefähig; Web-API ist für alle leichten Prozess- und reinen HTTP-basierten Komponenten. Damit WCF auch für den einfachen oder einfachsten Web-Service genutzt werden kann, wird zusätzliches Gepäck mitgebracht. Für leichten, einfachen Service für Ajax oder dynamische Anrufe löst WebApi immer nur das Bedürfnis. Dies ergänzt oder hilft parallel zum ASP.net MVC.

Schauen Sie sich den Podcast an: Hanselminutes Podcast 264 - Dies ist nicht die WCF Ihres Vaters - Alles über das WebAPI mit Glenn Block von Scott Hanselman für weitere Informationen.

Ich habe ein paar Monate damit zugebracht, die Konzepte von WCF zu verstehen, und kürzlich habe ich meine erste WCF-Dienstanwendung entwickelt.

Ich habe ziemlich viel gekämpft, um alle Einstellungen in der Konfigurationsdatei zu verstehen.
Ich bin nicht von der Umwelt überzeugt, aber es scheint, dass Sie erstaunliche Sachen damit machen können.

Neulich habe ich herausgefunden, dass Microsoft eine neue Sache namens ASP.NET Web API herausgebracht hat .

Für was ich lesen kann, ist es ein RESTful Framework , sehr einfach zu benutzen und zu implementieren.

Jetzt versuche ich herauszufinden, was die Hauptunterschiede zwischen den beiden Frameworks sind und ob ich versuchen sollte, meine alte WCF-Dienstanwendung mit der neuen API zu konvertieren.

Könnte mir bitte jemand helfen, die Unterschiede und die Verwendung von jedem zu verstehen?


Bezüglich der Aussage "WebApi fehlt von WSDL" gibt es mehrere Möglichkeiten, Rest-Client zu erzeugen. Ein beliebter Ansatz ist Swagger UI / (Swashbukkle Nuget). Dies bietet eine reichhaltige Benutzeroberfläche, um das Eingabe- und Ausgabeschema des REST-Endpunkts und das Online-Tool zum Testen der Endpunkte zu verstehen.

JSON LD (Json Linked Documents) ist ein weiterer neuer Standard, der die JSON-basierte REST-Entwicklererfahrung weiter verbessern wird, indem das JSON-Schema mit einer besseren Semantik versehen wird.


Es gibt einen Vergleich auf MSDN darüber

WCF- und ASP.NET-Web-API

Für mich war die Entscheidung, wer die Kunden sind und wo sie sich befinden.

Innerhalb des Unternehmens Netzwerk- und .NET-basierte Clients: Verwenden Sie WCF mit TCP-Bindung (schnelle Kommunikation als HTTP)

Außerhalb des Unternehmens Netzwerk, und verschiedene Technologien wie PHP, Python usw. verwenden : Verwenden Sie Web-API mit REST


Geschäftlich spricht WebApi von einer WSDL, also sollten die Entwickler alles manuell dokumentieren. Und wenn zum Beispiel die WebApi-Operation eine Liste von Objekten zurückgibt, dann sollte der Client die Objekte manuell erstellen, dh WebAPI ist wirklich anfällig für Fehler bei den Definitionen.

Der Profi von Webapi ist leichter als WCF.


Mit wcf können wir den gleichen Service-Support für mehrere Endpunkte wie tcp, http konfigurieren und verfügbar machen. Wenn Sie möchten, dass Ihr Service nur http-basiert ist, ist es besser, mit der Web-API zu gehen. Web-API hat im Vergleich zu WCF sehr weniger Konfiguration und ist etwas schneller als der WCF. Wcf unterstützt auch erholsame Dienste. Wenn Sie eine Beschränkung von .Net Framework 3.5 haben, dann ist Ihre Option wcf.


Seit ich beide verwendet habe, habe ich viele Unterschiede zwischen WCF und Web API gefunden. Beide Technologien eignen sich gut für verschiedene Szenarien. Es ist also nicht möglich zu sagen, welches besser ist, dies hängt von der Konfiguration und dem Szenario ab.

Hinweis: Die Daten sind nicht nur meine Ansicht, dies wird auch von anderen offiziellen Webseiten gesammelt.








asp.net-web-api