Was ist der Unterschied zwischen ihnen?
Wann würde ich mich für einen über den anderen entscheiden?
wcf
web-services
Entwickler
quelle
quelle
Antworten:
Diese Antwort basiert auf einem Artikel, der nicht mehr existiert:
Zusammenfassung des Artikels:
"Grundsätzlich ist WCF eine Service-Schicht, mit der Sie Anwendungen erstellen können, die über eine Vielzahl von Kommunikationsmechanismen kommunizieren können. Mit ihr können Sie über Peer-to-Peer, Named Pipes, Webdienste usw. kommunizieren.
Sie können sie nicht vergleichen, da WCF ein Framework zum Erstellen interoperabler Anwendungen ist. Wenn Sie möchten, können Sie sich das als SOA-Enabler vorstellen. Was bedeutet das?
Nun, WCF entspricht etwas, das als ABC bekannt ist, wobei A die Adresse des Dienstes ist, mit dem Sie kommunizieren möchten, B für die Bindung steht und C für den Vertrag steht. Dies ist wichtig, da es möglich ist, die Bindung zu ändern, ohne den Code unbedingt zu ändern. Der Vertrag ist viel leistungsfähiger, weil er die Trennung des Vertrags von der Implementierung erzwingt. Dies bedeutet, dass der Vertrag in einer Schnittstelle definiert ist und es eine konkrete Implementierung gibt, an die der Verbraucher mit der gleichen Idee des Vertrags gebunden ist. Das Datenmodell wird abstrahiert. "
... später ...
"sollte WCF verwenden, wenn wir mit anderen Kommunikationstechnologien (z. B. Peer-to-Peer, Named Pipes) anstatt mit dem Webdienst kommunizieren müssen"
quelle
Von Was ist der Unterschied zwischen WCF und Web Services?
quelle
Der Webdienst basiert auf SOAP und gibt Daten in XML-Form zurück. Es wird nur das HTTP-Protokoll unterstützt. Es ist kein Open Source, kann aber von jedem Client verwendet werden, der XML versteht. Es kann nur auf IIS gehostet werden.
WCF basiert auch auf SOAP und gibt Daten in XML-Form zurück. Es ist die Weiterentwicklung des Webdienstes (ASMX) und unterstützt verschiedene Protokolle wie TCP, HTTP, HTTPS, Named Pipes und MSMQ. Das Hauptproblem bei WCF ist die langwierige und umfangreiche Konfiguration. Es ist kein Open Source, kann aber von jedem Client verwendet werden, der XML versteht. Es kann mit in der Anwendung oder auf IIS oder mithilfe des Fensterservices gehostet werden.
quelle
Der grundlegende und primäre Unterschied besteht darin, dass der ASP.NET-Webdienst nur SOAP-Nachrichten über HTTP austauschen kann, während der WCF-Dienst Nachrichten in einem beliebigen Format (SOAP ist Standard) über ein beliebiges Transportprotokoll austauschen kann, z. B. HTTP, TCP, MSMQ oder NamedPipes usw.
quelle
Der Webdienst verwendet nur das HTTP-Protokoll, während Daten von einer Anwendung zu einer anderen Anwendung übertragen werden.
WCF unterstützt jedoch mehr Protokolle für den Nachrichtentransport als ASP.NET-Webdienste. WCF unterstützt das Senden von Nachrichten über HTTP sowie das Transmission Control Protocol (TCP), Named Pipes und Microsoft Message Queuing (MSMQ).
Um einen Dienst in Web Service zu entwickeln, schreiben wir den folgenden Code
Um einen Dienst in WCF zu entwickeln, schreiben wir den folgenden Code
Der Webdienst ist architektonisch nicht robuster. WCF ist jedoch architektonisch robuster und fördert Best Practices.
Webdienste verwenden XmlSerializer, WCF verwendet jedoch DataContractSerializer. Welche Leistung ist im Vergleich zu XmlSerializer besser?
Für interne Service-to-Service-Aufrufe (hinter der Firewall) verwenden wir die net: tcp-Bindung, die viel schneller als SOAP ist.
WCF ist 25% - 50% schneller als ASP.NET Web Services und ungefähr 25% schneller als .NET Remoting.
WCF wird verwendet, um zwischen anderen Anwendungen, die auf anderen Plattformen entwickelt wurden, und unter Verwendung anderer Technologien zu kommunizieren.
Wenn ich beispielsweise Daten von der .net-Plattform auf eine andere Anwendung übertragen muss, die auf einem anderen Betriebssystem (wie Unix oder Linux) ausgeführt wird und ein anderes Übertragungsprotokoll (wie WAS oder TCP) verwendet, ist es nur möglich, Daten zu übertragen mit WCF.
Hier gibt es keine Einschränkung der Plattform, des Übertragungsprotokolls der Anwendung beim Übertragen der Daten zwischen einer Anwendung und einer anderen Anwendung.
Die Sicherheit ist im Vergleich zum Webdienst sehr hoch
quelle
Der Hauptunterschied besteht in der Zeitüberschreitung. Der WCF-Dienst hat eine Zeitüberschreitung, wenn keine Antwort erfolgt, der Webdienst verfügt jedoch nicht über diese Eigenschaft.
quelle