WCF - Versus Web Service
Existen algunas diferencias importantes entre WCF y un servicio web que se enumeran a continuación.
Attributes - El servicio WCF está definido por los atributos ServiceContract y OperationContract, mientras que un servicio web está definido por los atributos WebService y WebMethod.
Protocols - WCF admite una variedad de protocolos, es decir, HTTP, Canalizaciones con nombre, TCP y MSMQ, mientras que un servicio web solo admite el protocolo HTTP.
Hosting Mechanisms - Existen varios mecanismos de activación para el alojamiento WCF, es decir, IIS (Servicio de información de Internet), WAS (Servicio de activación de Windows), Autohospedaje y Servicio de Windows, pero un servicio web está alojado solo por IIS.
Services - WCF admite una seguridad sólida, mensajería confiable, transacciones e interoperabilidad, mientras que un servicio web solo admite servicios de seguridad.
Serializer - WCF admite el serializador DataContract mediante el uso de System.Runtime.Serialization, mientras que un servicio web admite el serializador XML mediante el uso de System.Xml.Serialization.
Tools - La herramienta ServiceMetadata (svcutil.exe) se usa para la generación de clientes para un servicio WCF, mientras que la herramienta WSDL.EXE se usa para generar lo mismo para un servicio web.
Exception Handling- En WCF, las excepciones no controladas se manejan de una mejor manera haciendo uso de FaultContract. No regresan al cliente como en un servicio web como fallas SOAP.
Hash Table - Es posible serializar una tabla hash en WCF, pero este no es el caso en un servicio web.
Bindings - WCF admite varios tipos de enlaces como BasicHttpBinding, WSDualHttpBinding, WSHttpBinding, etc., mientras que un servicio web solo admite SOAP o XML.
Multithreading - WCF admite subprocesos múltiples mediante la clase ServiceBehavior, mientras que esto no es compatible con un servicio web.
Duplex Service Operations - WCF admite operaciones de servicio dúplex además de admitir operaciones de servicio de solicitud-respuesta unidireccionales, mientras que un servicio web no admite operaciones de servicio dúplex.