Учебники

WCF — Versus Web Service

Между 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 поддерживает операции дуплексной службы, кроме поддержки односторонних операций и операций запроса-ответа, тогда как веб-служба не поддерживает операции дуплексной службы.