Каковы преимущества использования WCF? - PullRequest
24 голосов
/ 07 ноября 2008
  1. В настоящее время мы просто используем мыльные веб-сервисы для всего нашего общения, но вместо этого думаем о переходе на WCF. Каковы преимущества его использования по сравнению с сервисом asmx?

  2. Если мы используем службу WCF, могут ли другие языки по-прежнему с ней общаться? SOAP стандартизирован, и с ним могут взаимодействовать все языки.

  3. Существуют ли действительно хорошие примеры того, как начать работу с WCF, которые демонстрируют его преимущества перед мылом?

EDIT

  • Я только что нашел этот вопрос, который весьма полезен.
  • Учебное пособие Getting Started отлично.

Ответы [ 3 ]

15 голосов
/ 07 ноября 2008
  1. Существует некоторая кривая обучения с WCF, но как только вы изучите ее, ее будет сложнее реализовать, чем веб-сервисы asmx. Одним из преимуществ является то, что вы можете легко переключать протоколы и сериализацию от бинарного удаленного взаимодействия до веб-протоколов . Это также легко разместить в IIS или вне.

  2. Другие языки могут взаимодействовать с веб-протоколами. Двоичный, не так много ...

  3. Я только что углубился в Руководство по началу работы . Он хорошо показывает относительную простоту использования. Оттуда, посмотрите на Хостинг и более подробно Особенности .

4 голосов
/ 14 июня 2010

Исходя из этой статьи 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.

4 голосов
/ 07 ноября 2008

WCF не является заменой SOAP, и действительно, SOAP можно использовать в качестве формата сериализации между конечными точками для связи. Стандарт SOAP также на самом деле не определяет, что происходит в теле сообщения, поэтому в случае связи WCF-WCF используется конверт SOAP, но содержимое является двоичным, поэтому у вас есть основное преимущество, по крайней мере, с точки зрения производительности. Другое преимущество состоит в том, что модель программирования WCF является или, по крайней мере, должна быть намного более простой; тем более, что кажется, что вы просто используете веб-сервисы для внутреннего общения. В этом случае большая часть работы будет выполняться заранее, настраивая конечные точки (хотя использование asmx WSDL, очевидно, очень просто в .NET).

Я не эксперт в WCF, но я знаю, что из презентаций групп пользователей .NET Ювала Лоуи (который написал книгу для O'Reilly WCF), его сайт имеет приличное количество информации в виде скринкастов и примеров в разделе Ресурсы, в дополнение к сайтам Microsoft (вы проверили Channel9 ?).


...