Что такое WCF (и плюсы и минусы)?

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

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

ссылки на справочные веб-сайты также будет быть здорово.

спасибо

2 ответов


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

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

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

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

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


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

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


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