Фонд связи Windows


Windows Communication Foundation ( WCF ) , ранее известная как Indigo , — это бесплатная среда выполнения с открытым исходным кодом и набор API -интерфейсов в .NET Framework для создания подключенных сервис-ориентированных приложений. [1] [2]

.NET Core 1.0 , выпущенный в 2016 году, не поддерживал серверный код WCF. Поддержка WCF была добавлена ​​на платформу с поддержкой .NET Core 3.1, .NET 5 и .NET 6 в 2022 году. [3]

WCF — это инструмент, часто используемый для реализации и развертывания сервис-ориентированной архитектуры (SOA). Он разработан с использованием принципов сервис-ориентированной архитектуры для поддержки распределенных вычислений , когда службы имеют удаленных потребителей . Клиенты могут использовать несколько сервисов; услуги могут потребляться несколькими клиентами. Услуги слабо связаны друг с другом. Службы обычно имеют интерфейс WSDL (язык описания веб-служб), который любой клиент WCF может использовать для использования службы, независимо от того, на какой платформе размещена служба. WCF реализует множество передовых стандартов веб-служб (WS), таких как WS-Addressing , WS-ReliableMessaging.и WS-безопасность . С выпуском .NET Framework 4.0 WCF также предоставляет службы синдикации RSS , WS-Discovery , маршрутизацию и улучшенную поддержку служб REST .

Клиент WCF подключается к службе WCF через конечную точку . Каждая служба предоставляет свой контракт через одну или несколько конечных точек. Конечная точка имеет адрес (который представляет собой URL-адрес, указывающий, где можно получить доступ к конечной точке) и свойства привязки, которые определяют, как будут передаваться данные.

Мнемонику « Азбука» можно использовать для запоминания адреса / привязки / контракта . Binding указывает, какие протоколы связи используются для доступа к услуге, должны ли использоваться механизмы безопасности и т.п. WCF включает предопределенные привязки для наиболее распространенных протоколов связи, таких как SOAP.через HTTP, SOAP через TCP и SOAP через очереди сообщений и т. д. Взаимодействие между конечной точкой WCF и клиентом осуществляется с использованием конверта SOAP. Конверты SOAP имеют простую форму XML, что делает WCF независимым от платформы. Когда клиент хочет получить доступ к службе через конечную точку, ему нужно не только знать контракт, но и придерживаться привязки, указанной конечной точкой. Таким образом, и клиент, и сервер должны иметь совместимые конечные точки.

С выпуском .NET Framework 3.5 в ноябре 2007 года Microsoft выпустила кодировщик, который добавил поддержку формата сериализации JSON в WCF. [4]


трехточечная стековая диаграмма окон с точечной сетью
Эта подсистема является частью .NET Framework 3.0 .