Каковы преимущества использования WCF?
-
В настоящее время мы просто используем soap webservices для всего нашего общения, но думаем о переходе на WCF. Каковы преимущества использования его в службе asmx?
-
Если мы будем работать с WCF-сервисом, могут ли другие языки по-прежнему взаимодействовать с ним? SOAP стандартизирован, и все языки могут взаимодействовать с ним.
-
Есть ли действительно хорошие примеры того, как начать работу с WCF, которые показывают преимущества этого над мылом?
ИЗМЕНИТЬ
Ответы
Ответ 1
-
Там немного кривая обучения с WCF, но как только вы узнаете ее, ее сложнее реализовать, чем веб-службы asmx. Одно из преимуществ заключается в том, что вы можете легко переключать протоколы и сериализацию из двоичного удаленного доступа до веб-протоколов. Он также легко размещается либо в IIS, либо вне.
-
Другие языки могут связываться с веб-протоколами. Двоичные, не так много...
-
Я только что вникнул в Учебное пособие по началу работы. Он неплохо показывает относительную простоту использования. Оттуда взгляните на Хостинг и более подробно Возможности.
Ответ 2
WCF не является заменой SOAP, и действительно, SOAP можно использовать в качестве формата сериализации между конечными точками для связи. SOAP стандарт также не определяет, что входит в тело сообщения, поэтому в случае связи WCF-to-WCF используется SOAP-конверт, но контент двоичный, поэтому ваше основное преимущество, по крайней мере, в терминах производительности. Другим преимуществом является то, что модель программирования WCF, или, по крайней мере, должна быть, гораздо более простой; тем более, что это похоже на то, что вы действительно используете веб-службы для общения внутри страны. В этом случае большая часть работы была бы впереди, настройка конечных точек (хотя использование .NET-овмама asmx, очевидно, очень просто в .NET).
Я не эксперт в WCF, но то, что я знаю, было из презентаций групп пользователей .NET Juval Lowy (кто написал книгу O'Reilly WCF), его сайт содержит приличный объем информации в виде скринкастов и образцов в разделе "Ресурсы" в дополнение к сайтам Microsoft (вы проверили Channel9?).
Ответ 3
Основываясь на этой статье MSDN, связанной с этим вопросом, WCF поддерживает не только SOAP. Он поддерживает:
-
BasicHttpBinding
Взаимодействие с веб-службами и клиентами, поддерживающими WS-BasicProfile 1.1 и Basic Security Profile 1.0.
-
WSHttpBinding
Взаимодействие с веб-службами и клиентами, которые поддерживают WS- * протоколы через HTTP.
-
WSDualHttpBinding
Дуплексная HTTP-связь, по которой получатель исходного сообщения не отвечает непосредственно начальному отправителю, но может передавать любое количество ответов в течение определенного периода времени, используя HTTP в соответствии с протоколами WS- *.
-
WSFederationBinding
HTTP, при которой доступ к ресурсам службы может контролироваться на основе учетных данных, выданных явным образом идентифицированным поставщиком учетных данных.
-
NetTcpBinding
Безопасная, надежная и высокопроизводительная связь между объектами программного обеспечения WCF по сети.
-
NetNamedPipeBinding
Безопасная, надежная и высокопроизводительная связь между объектами программного обеспечения WCF на одном компьютере.
-
NetMsmqBinding
Связь между объектами программного обеспечения WCF с использованием MSMQ.
-
MsmqIntegrationBinding
Связь между программным объектом WCF и другим программным объектом с использованием MSMQ.
-
NetPeerTcpBinding
Связь между объектами программного обеспечения WCF с использованием одноранговой сети Windows.