В чем разница между ними?
Когда я выберу одно вместо другого?
wcf
web-services
Разработчик
источник
источник
Ответы:
Этот ответ основан на статье, которой больше не существует:
Резюме статьи:
«По сути, WCF - это уровень службы, который позволяет создавать приложения, которые могут обмениваться данными с использованием различных механизмов связи. С его помощью вы можете обмениваться данными с помощью одноранговой сети, именованных каналов, веб-служб и т. Д.
Вы не можете сравнивать их, потому что WCF - это платформа для создания совместимых приложений. Если хотите, можете думать об этом как об активе SOA. Что это значит?
Что ж, WCF соответствует так называемому ABC, где A - это адрес службы, с которой вы хотите общаться, B - это привязка, а C - контракт. Это важно, потому что можно изменить привязку без обязательного изменения кода. Контракт намного мощнее, потому что он заставляет отделить контракт от реализации. Это означает, что контракт определяется в интерфейсе, и есть конкретная реализация, к которой привязан потребитель, использующий ту же идею контракта. Модель данных абстрагируется ".
... потом ...
"следует использовать WCF, когда нам нужно взаимодействовать с другими коммуникационными технологиями (например, одноранговые сети, именованные каналы), а не с веб-службой"
источник
В чем разница между WCF и веб-службами?
источник
Веб-сервис основан на протоколе SOAP и возвращает данные в XML-форме. Он поддерживает только протокол HTTP. Это не открытый исходный код, но может использоваться любым клиентом, который понимает xml. Он может быть размещен только на IIS.
WCF также основан на SOAP и возвращает данные в форме XML. Это эволюция веб-службы (ASMX), которая поддерживает различные протоколы, такие как TCP, HTTP, HTTPS, именованные каналы, MSMQ. Основная проблема WCF - это утомительная и обширная конфигурация. Это не открытый исходный код, но может использоваться любым клиентом, который понимает xml. Его можно разместить в приложении, в IIS или с помощью оконной службы.
источник
Основное и основное отличие заключается в том, что веб-служба ASP.NET предназначена для обмена сообщениями SOAP только через HTTP, в то время как служба WCF может обмениваться сообщениями в любом формате (по умолчанию SOAP) по любому транспортному протоколу, например HTTP, TCP, MSMQ или NamedPipes и т. Д.
источник
Веб-сервисы используют только протокол HTTP при передаче данных из одного приложения в другое.
Но WCF поддерживает больше протоколов для передачи сообщений, чем веб-службы ASP.NET. WCF поддерживает отправку сообщений с помощью HTTP, а также протокола управления передачей (TCP), именованных каналов и очереди сообщений Microsoft (MSMQ).
Чтобы разработать сервис в веб-сервисе, мы напишем следующий код
Для разработки сервиса в WCF напишем следующий код
Веб-сервис не является более надежным в архитектурном отношении. Но WCF архитектурно более надежен и продвигает передовые методы.
Веб-службы используют XmlSerializer, но WCF использует DataContractSerializer. Что лучше по производительности по сравнению с XmlSerializer?
Для внутренних вызовов сервис-сервис (за брандмауэром) мы используем привязку net: tcp, которая намного быстрее, чем SOAP.
WCF на 25-50% быстрее, чем веб-службы ASP.NET, и примерно на 25% быстрее, чем .NET Remoting.
WCF используется для связи между другими приложениями, которые были разработаны на других платформах и с использованием других технологий.
Например, если мне нужно передать данные с платформы .net в другое приложение, работающее в другой ОС (например, Unix или Linux), и они используют другой протокол передачи (например, WAS или TCP), тогда можно передавать только данные. с использованием WCF.
Здесь нет ограничений платформы, протокола передачи приложения при передаче данных между одним приложением в другое приложение.
Безопасность очень высока по сравнению с веб-сервисом
источник
Основное различие заключается в тайм-ауте, служба WCF имеет тайм-аут, когда нет ответа, но веб-служба не имеет этого свойства.
источник