Между WCF и веб-службой существуют некоторые существенные различия, которые перечислены ниже.
Атрибуты — служба WCF определяется атрибутами ServiceContract и OperationContract, тогда как веб-служба определяется атрибутами WebService и WebMethod.
Протоколы — WCF поддерживает ряд протоколов, т. Е. HTTP, именованные каналы, TCP и MSMQ, тогда как веб-служба поддерживает только протокол HTTP.
Механизмы хостинга. Существуют различные механизмы активации для хостинга WCF, например, IIS (информационная служба Интернета), WAS (служба активации Windows), собственный хостинг и служба Windows, но веб-служба размещается только в IIS.
Службы — WCF поддерживает надежную безопасность, надежный обмен сообщениями, транзакции и взаимодействие, а веб-служба поддерживает только службы безопасности.
Сериализатор — WCF поддерживает сериализатор DataContract, используя System.Runtime.Serialization, тогда как веб-сервис поддерживает XML-сериализатор, используя System.Xml.Serialization.
Инструменты — инструмент ServiceMetadata (svcutil.exe) используется для генерации клиента для службы WCF, а инструмент WSDL.EXE — для его генерации для веб-службы.
Обработка исключений — В WCF необработанные исключения обрабатываются лучше, используя FaultContract. Они не возвращаются клиенту, как в веб-сервисе, как ошибки SOAP.
Хеш-таблица — можно сериализовать хеш-таблицу в WCF, но это не так в веб-сервисе.
Привязки — WCF поддерживает несколько типов привязок, таких как BasicHttpBinding, WSDualHttpBinding, WSHttpBinding и т. Д., А веб-служба поддерживает только SOAP или XML.
Многопоточность — WCF поддерживает многопоточность с использованием класса ServiceBehavior, тогда как это не поддерживается в веб-службе.
Операции дуплексной службы — WCF поддерживает операции дуплексной службы, кроме поддержки односторонних операций и операций запроса-ответа, тогда как веб-служба не поддерживает операции дуплексной службы.