Unterschied zwischen WCF und Web Service

WCF vs Web Service

Webdienste und Windows Communication Foundations (WCF) sind zwei Methoden, mit denen Anwendungen über ein Netzwerk kommunizieren.

Mehr über Web Services

Web-Services sind Komponenten von Anwendungen, auf die mit offenen Protokollen wie SOAP (Simple Object Access Protocol), einer vom W3C entwickelten XML-basierten Sprache, zum Verschlüsseln und Übertragen von Daten zugegriffen werden kann. SOAP verwendet XML für Datenbeschreibungen und HTTP für die Datenübertragung. Die Hauptvorteile, die diese offenen Protokolle bieten, sind die Interoperabilität der Dienste trotz der Unterschiede bei den verwendeten Plattformen und Programmiersprachen. Web Services verwenden (WSDL) (Web Services Descriptions Language) zur Beschreibung der Services und UDDI (Universal Description, Discovery and Integration) zum Auflisten der verfügbaren Services. Webdienste benötigen zum Betrieb keinen Webbrowser oder HTML-Code und können eine von der Anwendung definierte GUI enthalten oder nicht. Webdienste können mit ASP.NET implementiert werden.

Weitere Informationen zur Windows Communication Foundation (WCF)

Windows Communication Foundation wurde eingeführt, um frühere Webdienstplattformen zu ersetzen, und verwendet beim Erstellen von Anwendungen eine serviceorientierte Architektur. Interoperabilität und mehrere Nachrichtenmuster, Servicemetadaten, Datenverträge und mehrere Transportkodierungen sind Merkmale der WCF. Dauerhafte Nachrichten, AJAX- und REST-Funktionen sowie Secure Transactions-Funktionen verleihen der Plattform mehr Flexibilität als frühere Webdienste.

Was ist der Unterschied zwischen Web Services und WCF??

• Webdienste können in IIS (Internet Information Service) oder außerhalb von IIS gehostet werden, während WCF in IIS, WAS (Windows-Aktivierungsdienst) gehostet werden kann. WCF-Dienste können im Allgemeinen in IIS 5.1 oder 6.0, dem Windows-Prozessaktivierungsdienst (WAS), der als Teil von IIS Version 7.0 bereitgestellt wird, und in einer beliebigen .NET-Anwendung gehostet werden. Um einen Webdienst in IIS Version 5.1 oder 6.0 hosten zu können, müssen die Webdienste HTTP als Kommunikationstransportprotokoll verwenden.

• Auf der Web Services-Plattform wird das Web-Service-Attribut am Anfang der Klasse hinzugefügt, während es in WCF ein Service-Contract-Attribut gibt. In ähnlicher Weise wird das Attribut "Webmethode" zusätzlich zur Methode des Webdiensts hinzugefügt, während in WCF der Servicevertrag für die erste Methode hinzugefügt wird.

• Web-Services verwenden XML 1.0, MTOM (Message Transmission Optimization Mechanism) und DIME-Codierungen, während WCF XML 1.0-, MTOM- und Binary-Codierungen verwendet. Beide Plattformen unterstützen benutzerdefinierte Kodierungsmethoden.

• Die Web-Service-Plattform unterstützt die XML-Serialisierung, während die Service-Plattform in der WCF die Run Time Serialization unterstützt.

• WCF-Dienste können über die Service-Behavior-Klasse mehrthreadig sein, während Webdienste nicht multithreadig sein können.

• WCF-Services unterstützen verschiedene Bindungsarten wie BasicHttpBinding, WSHttpBinding und WSDualHttpBinding, während Web-Services nur SOAP oder XML für diesen Zweck verwenden.

• Webdienste werden in einer Klassenbibliotheksassembly zusammengefasst. Es wird eine Datei mit dem Namen "Servicedatei" bereitgestellt, die die Erweiterung .asmx hat und die @ WebService-Direktive enthält, die die Klasse angibt, die den Code für den Service und die Assembly enthält, in der sich der Dienst in WCF befindet.