Что такое WCF (и плюсы и минусы)? - PullRequest
6 голосов
/ 16 марта 2010

Я пытаюсь понять, что такое WCF, но не могу наглядно понять, как он добавляет ценность (чтение msdn не помогает). Я работал с COM в прошлом, и я знаю о веб-сервисах. Может кто-нибудь пролить свет на то, что такое WCF, его плюсы и минусы (может, как это связано с COM или заменяет COM и т. Д.)

Если я могу визуализировать структуру архитектуры, я могу начать понимать, какой компонент выполняет какую функцию.

Ссылки на справочные сайты также были бы хорошими.

Спасибо

Ответы [ 2 ]

7 голосов
/ 16 марта 2010

Я не рекомендую сравнивать WCF с COM.

Windows Communication Foundation - это все для связи - в частности, с веб-сайта WCF он «предоставляет унифицированную модель программирования для быстрого создания сервис-ориентированных приложений, которые взаимодействуют через Интернет и предприятие».

Это действительно другой подход к межпроцессному взаимодействию, объединяющий его. Это позволяет вам использовать чистый сервисно-ориентированный API для всех коммуникаций между процессами и легко менять базовую технологию, используемую сервисами (например, переключаться с HTTP на TCP на Pipes и т. Д.).

Используя WCF, вы можете создавать процессы, которые взаимодействуют между собой чистым и последовательным образом. Один и тот же API можно использовать для общения с веб-службами, передачи данных между двумя настольными приложениями или для обмена данными между настольным компьютером и службой в системе. Во всех случаях вы можете легко переключать используемые протоколы и т. Д.

Это обеспечивает большую гибкость с одним инструментарием.


Что касается плюсов и минусов в сравнении с другими вариантами - плюсов много, в основном с точки зрения возможности использования единой модели разработки. Лично я использую WCF для всех своих текущих потребностей IPC, так как он в значительной степени заменяет удаленное взаимодействие в качестве предпочтительного API для IPC в .NET.

Основным недостатком будет производительность в некоторых конкретных сценариях. Использование WCF добавляет (незначительные) накладные расходы, поэтому в некоторых ситуациях выполнение собственной разработки сокетов низкого уровня будет работать лучше. Если вы не пишете игру в реальном времени или что-то в этом роде, усилия по разработке низкоуровневого коммуникационного протокола не стоят того.

1 голос
/ 16 марта 2010

WCF - это очень общая структура межпроцессных / межмашинных коммуникаций. Вот и все. Для .net доступны следующие параметры: настраиваемая сетевая связь, веб-сервис, .net remoting. WCF заменяет веб-сервис (обратно совместимый) и .net удаленное взаимодействие (не обратно совместимый) с богатым набором опций и функций связи Он может использовать разные транспортные уровни - tcp, веб-сервис, msmq

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...