WCF - Versus Web Service
Es gibt einige wesentliche Unterschiede zwischen WCF und einem Webdienst, die unten aufgeführt sind.
Attributes - Der WCF-Dienst wird durch die Attribute ServiceContract und OperationContract definiert, während ein Webdienst durch die Attribute WebService und WebMethod definiert wird.
Protocols - WCF unterstützt eine Reihe von Protokollen, z. B. HTTP, Named Pipes, TCP und MSMQ, während ein Webdienst nur das HTTP-Protokoll unterstützt.
Hosting Mechanisms - Für WCF-Hosting gibt es verschiedene Aktivierungsmechanismen, z. B. IIS (Internetinformationsdienst), WAS (Windows-Aktivierungsdienst), Selbsthosting und Windows-Dienst. Ein Webdienst wird jedoch nur von IIS gehostet.
Services - WCF unterstützt eine robuste Sicherheit, vertrauenswürdiges Messaging, Transaktionen und Interoperabilität, während ein Webdienst nur Sicherheitsdienste unterstützt.
Serializer - WCF unterstützt den DataContract-Serializer mithilfe von System.Runtime.Serialization, während ein Webdienst den XML-Serializer mithilfe von System.Xml.Serialization unterstützt.
Tools - Das ServiceMetadata-Tool (svcutil.exe) wird für die Clientgenerierung für einen WCF-Dienst verwendet, während das WSDL.EXE-Tool zum Generieren desselben für einen Webdienst verwendet wird.
Exception Handling- In WCF werden nicht behandelte Ausnahmen mithilfe von FaultContract besser behandelt. Sie kehren nicht wie in einem Webdienst als SOAP-Fehler zum Client zurück.
Hash Table - Es ist möglich, eine Hash-Tabelle in WCF zu serialisieren, dies ist jedoch in einem Webdienst nicht der Fall.
Bindings - WCF unterstützt verschiedene Arten von Bindungen wie BasicHttpBinding, WSDualHttpBinding, WSHttpBinding usw., während ein Webdienst nur SOAP oder XML unterstützt.
Multithreading - WCF unterstützt Multithreading mithilfe der ServiceBehavior-Klasse, während dies in einem Webdienst nicht unterstützt wird.
Duplex Service Operations - WCF unterstützt Duplexdienstvorgänge, abgesehen von Einweg- und Anforderungsantwortdienstvorgängen, während ein Webdienst keine Duplexdienstvorgänge unterstützt.