Unterschied zwischen den wiederherzustellenden Diensten von wcf und der WEB API

8

Ich bin seit langer Zeit gefragt.Wo genau müssen wir die WEB API verwenden und wo sollten wir WCF Ruhe Dienste verwenden. Was auch immer wir in WEB API erreichen wollen, können wir in WCF Rest erreichen. Ich habe versucht, in Antworten zu graben, aber ich habe, dass wir zusätzliche Einstellung in WCF wie URI Vorlagen, Verträge, Endpunkte tun müssen. Aber es ist mehr auf Einstellungen, aber ich wollte den wahren Grund hinter WCF Restful Services kennen.

    
abhijit 06.04.2016, 04:58
quelle

1 Antwort

19

Webdienst

  • Es basiert auf SOAP und gibt Daten im XML-Format zurück.
  • Es unterstützt nur das HTTP-Protokoll.
  • Es ist keine Open-Source-Software, sondern kann von jedem Client verwendet werden, der XML versteht.
  • Es kann nur auf IIS gehostet werden.


WCF

  • Es basiert auch auf SOAP und gibt Daten im XML-Format zurück.
  • Es ist die Evolution von Web-Services (ASMX) und unterstützt verschiedene Protokolle wie TCP, HTTP, HTTPS, Named Pipes, MSMQ.
  • Das Hauptproblem bei WCF ist seine langwierige und umfangreiche Konfiguration.
  • Es ist keine Open-Source-Software, sondern kann von jedem Client verwendet werden, der XML versteht.
  • Es kann mit in der Anwendung oder auf IIS gehostet werden oder Fensterdienst verwenden.


WCF-REST

  • Um WCF als WCF-REST-Service zu verwenden, müssen Sie webHttpBindings .
  • aktivieren
  • Es unterstützt die HTTP-GET- und POST-Verben nach den Attributen [WebGet] bzw. [WebInvoke] .
  • Um andere HTTP-Verben zu aktivieren, müssen Sie eine Konfiguration in IIS vornehmen, um die Anforderung dieses Verbs in .svc files zu akzeptieren.
  • Die Übergabe von Daten über Parameter mit WebGet erfordert eine Konfiguration. Der UriTemplate muss angegeben werden.
  • Es unterstützt das XML-, JSON- und ATOM-Datenformat.


Web-API

  • Dies ist das neue Framework für den einfachen und einfachen Aufbau von HTTP-Diensten.
  • Die Web-API ist eine Open-Source-Plattform, eine ideale Plattform für die Erstellung von RESTful-Diensten mit .NET Framework.
  • Im Gegensatz zu einem WCF-REST-Service werden hier die vollständigen Funktionen von HTTP verwendet (wie URIs, Request / Response-Header, Caching, Versionierung, verschiedene Inhaltsformate).
  • Es unterstützt auch die MVC-Funktionen wie Routing, Controller, Aktionsergebnisse, Filter, Modellbinder, IOC Container oder Dependency Injection, Komponententests, die es einfacher und robuster machen.
  • Es kann in der Anwendung oder auf IIS gehostet werden.
  • Es ist eine leichte Architektur und gut für Geräte, die eine begrenzte Bandbreite wie Smartphones haben.
  • Antworten werden durch das% c_de% der Web-API in JSON, XML oder ein anderes Format formatiert, das Sie als MediaTypeFormatter hinzufügen möchten.


Auswahl zwischen WCF oder Web-API

  • Wählen Sie WCF, wenn Sie einen Dienst erstellen möchten, der spezielle Szenarien wie Einwegnachrichten, Nachrichtenwarteschlangen, Duplexkommunikation usw. unterstützen soll.
  • Wählen Sie WCF, wenn Sie einen Dienst erstellen möchten, der - sofern verfügbar - schnelle Transportkanäle verwendet, z. B. TCP, Named Pipes oder sogar UDP (in WCF 4.5), und Sie HTTP auch bei allen anderen Transportkanälen unterstützen möchten sind nicht verfügbar.
  • Wählen Sie Web-API, wenn Sie ressourcenorientierte Dienste über HTTP erstellen möchten, die die vollständigen Funktionen von HTTP verwenden können (wie URIs, Anforderungs- / Antwortheader, Caching, Versionierung, verschiedene Inhaltsformate).
  • Wählen Sie die Web-API aus, wenn Sie Ihren Service einer breiten Palette von Clients zur Verfügung stellen möchten, einschließlich Browsern, Mobiltelefonen, iPhone und Tablets.

Weitere Einzelheiten finden Sie unter Ссылка .

    
Mohit 06.04.2016, 05:09
quelle

Tags und Links