Вот некоторые мозговые свалки, которые, я думаю, могут быть полезны для понимания всего сценария.
Причина создания WCF: Фон
Разработка современных приложений [распределенных приложений], мы используем различные архитектуры и технологии для коммуникации
т.е:
- COM +
- .NET Enterprise Services
- MSMQ
- .NET Remoting
- Веб-сервисы
Поскольку существуют различные технологии. все они имеют разные архитектуры. поэтому учить их все сложно и утомительно.
нужно сосредоточиться на каждой технологии для разработки, а не на бизнес-логике приложения
Таким образом, Microsoft объединяет возможности в единую, общую, ориентированную на обслуживание модель программирования для Коммуникации. WCF предоставляет общий подход с использованием общего API, который разработчики могут сосредоточить на своем приложении, а не на протоколе связи.
В наши дни мы называем это WCF.
N.B: изображение, полученное из - http://www.codeproject.com/Articles/255114/Windows-Communication-Foundation-Basics
Для чего конкретно нужен сервис WCF?
WCF позволяет асинхронных сообщений преобразовывать одну конечную точку службы в другую.
Сообщение может быть простым как
отправлено в формате XML
- сложная структура данных как поток двоичных данных
Windows Communication Foundation (WCF) поддерживает несколько языков и платформ.
WCF Предоставляет среду выполнения для ваших служб, позволяя вам представлять типы CLR в качестве служб и использовать другие службы в качестве типов CLR.
<Ч />
Вот несколько примеров сценариев:
- Безопасный сервис для обработки бизнес-транзакций.
- Служба, которая предоставляет текущие данные другим пользователям, например отчет о трафике или другая служба мониторинга.
- Служба чата, которая позволяет двум людям общаться или обмениваться данными в режиме реального времени.
- Приложение панели мониторинга, которое опрашивает один или несколько сервисов на предмет данных и представляет их в логическом представлении.
- Предоставление рабочего процесса, реализованного с использованием Windows Workflow Foundation в качестве службы WCF.
- Приложение Silverlight для опроса службы о последних каналах данных.
С какой стати мы должны использовать WCF?
из статьи проекта кода, благодаря @ Mehta Priya Я нашел следующие сценарии, иллюстрирующие концепцию. Давайте рассмотрим два сценария:
- Первый клиент использует приложение java для взаимодействия с нашим Сервисом. Таким образом, для совместимости этот клиент хочет, чтобы сообщения в формате XML и протокол были HTTP.
- Второй клиент использует .NET, так что для повышения производительности ему нужны сообщения в двоичном формате и протокол TCP.
Без услуг WCF
Теперь для заявленных сценариев, если мы не используем WCF , что произойдет, давайте посмотрим на следующие изображения:
Это две разные технологии и имеют совершенно разные модели программирования. Таким образом, разработчики должны изучить различные технологии
, чтобы объединить и объединить все технологии под одной крышей. Microsoft пришла с новой моделью программирования под названием WCF.
Как WCF облегчает жизнь?
один реализует службу, и он / она может настроить столько конечных точек, сколько требуется для поддержки всех потребностей клиента.
Для поддержки вышеуказанных 2 требований клиента
-мы настроили 2 конечные точки
-мы можем указать протоколы и форматы сообщений, которые мы хотим использовать в конечной точке конфигурации
Ссылки:
- WCF: что, почему и когда https://vishalnayan.wordpress.com/2010/12/31/wcf-what-why-when/
- Почему мы используем сервис WCF? http://www.codeproject.com/Tips/815742/Why-We-Use-WCF-Service-and-Sample-of-WCF-Service
- Что такое Windows Communication Foundation https://msdn.microsoft.com/en-us/library/ms731082(v=vs.110).aspx
- Основы Windows Communication Foundation http://www.codeproject.com/Articles/255114/Windows-Communication-Foundation-Basics