Фонд связи Windows
Оригинальный автор(ы) | Майкрософт |
---|---|
Разработчик(и) | Фонд .NET |
Первоначальный выпуск | 21 ноября 2006 г |
Стабильная версия | v3.4.0 / 18 августа 2022 г |
Репозиторий | github |
Написано в | С# |
Операционная система | Linux , MacOS , Windows |
Платформа | .NET Framework , .NET |
Предшественник | Улучшения веб-служб |
Тип | Программная среда |
Лицензия | МОЯ лицензия |
Веб-сайт | документы |
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-Security . С выпуском .NET Framework 4.0 WCF также предоставляет службы RSS Syndicate, WS-Discovery , маршрутизацию и улучшенную поддержку служб REST .
Конечные точки
[ редактировать ]Клиент WCF подключается к службе WCF через конечную точку . Каждая служба предоставляет свой контракт через одну или несколько конечных точек. Конечная точка имеет адрес (который представляет собой URL-адрес, указывающий, где можно получить доступ к конечной точке) и свойства привязки, которые определяют, как будут передаваться данные.
Мнемонику « ABC » можно использовать для запоминания адреса / привязки / контракта . Привязка определяет, какие протоколы связи используются для доступа к службе, должны ли использоваться механизмы безопасности и т.п. WCF включает предопределенные привязки для большинства распространенных протоколов связи, таких как SOAP через HTTP, SOAP через TCP, SOAP через очереди сообщений и т. д. Взаимодействие между конечной точкой WCF и клиентом осуществляется с помощью конверта SOAP. Конверты SOAP имеют простую форму XML, что делает WCF независимым от платформы. Когда клиент хочет получить доступ к сервису через конечную точку, ему необходимо не только знать контракт, но также соблюдать привязку, указанную конечной точкой. Таким образом, и клиент, и сервер должны иметь совместимые конечные точки.
С выпуском .NET Framework 3.5 в ноябре 2007 года Microsoft выпустила кодировщик, который добавил поддержку формата JSON сериализации в WCF. [4]
Поведение
[ редактировать ]Поведения — это типы, которые изменяют или расширяют функциональность службы или клиента. Поведения позволяют разработчику создавать пользовательскую обработку, преобразование или проверку, которая применяется к сообщениям при их отправке или получении. Некоторые примеры использования поведения:
- Контроль публикации метаданных с помощью службы.
- Добавление в сервис функций безопасности, таких как олицетворение, авторизация , [5] или управление токенами
- Запись информации о сообщениях, например отслеживание, трассировка или протоколирование.
- Проверка сообщения или параметра
- Вызов всех дополнительных операций при получении сообщений, например уведомление пользователей о прибытии определенных сообщений.
Поведение реализует IServiceBehavior
интерфейс для расширений услуг, IEndpointBehavior
для конечных точек, IContractBehavior
интерфейс для сервисных контрактов или IOperationBehavior
для операций. Поведения службы используются для обработки сообщений в рамках службы, а не для обработки, специфичной для одной операции.
Совместимость
[ редактировать ]WCF поддерживает взаимодействие с приложениями WCF, работающими на одном компьютере с Windows, или с WCF, работающими на разных компьютерах с Windows, или со стандартными веб-службами, созданными на таких платформах, как Java, работающими в Windows или других операционных системах. Помимо SOAP, WCF 4 поддерживает не-SOAP XML, RSS , JSON и двоичные форматы для внешней связи через HTTP или HTTPS . [6]
См. также
[ редактировать ]- Платформа подключенных служб Microsoft
- Улучшения веб-служб
- Архитектура компонентов служб (SCA) и объекты служебных данных (SDO), которые являются альтернативами WCF в мире Java, стандартизированными OASIS.
- Службы данных WCF
Ссылки
[ редактировать ]- ^ Мишель Леру Бустаманте. «Хостинг служб WCF» . Журнал «КОД».
- ^ «Развертывание службы WCF, размещенной в службах Internet Information Services» . Сеть разработчиков Microsoft (MSDN). 15 сентября 2021 г.
- ^ «Выпущен CoreWCF 1.0, WCF для .NET Core и .NET 5+» . .NET-блог . 28 апреля 2022 г. Проверено 6 июня 2022 г.
- ^ «Интеграция AJAX и поддержка JSON» . Майкрософт . Проверено 24 апреля 2008 г.
- ^ «Пользовательская аутентификация и авторизация в WCF» . TatvaSoft Великобритания . Проверено 14 ноября 2018 г.
- ^ «Представляем Windows Communication Foundation в .NET Framework 4» . Майкрософт . Проверено 17 июля 2011 г.
- «Что такое Windows Communication Foundation» . MSDN . Майкрософт. 10 августа 2023 г.
- «Архитектура Windows Communication Foundation» . MSDN . Майкрософт. 15 сентября 2021 г.
Дальнейшее чтение
[ редактировать ]- Крейг МакМертри, Марк Меркури и Найджел Уотлинг: Microsoft Windows Communication Foundation: практический опыт , издательство SAMS, 26 мая 2004 г., ISBN 0-672-32877-1
- Стив Резник, Ричард Крейн, Крис Боуэн: Essential Windows Communication Foundation (WCF): для .NET Framework 3.5 , Аддисон-Уэсли, 11 февраля 2008 г., ISBN 0-321-44006-4
- Крейг МакМертри, Марк Меркури, Найджел Уотлинг, Мэтт Винклер: Windows Communication Foundation Unleashed (WCF) , Sams Publishing, 6 марта 2007 г., ISBN 0-672-32948-4
- Юваль Лёви: Служба программирования WCF , O'Reilly Media, Inc., 20 февраля 2007 г., ISBN 0-596-52699-7
- Пабло Чибраро, Курт Клейс, Фабио Коццолино, Иоганн Грабнер: Professional WCF 4: Windows Communication Foundation с .NET 4 , Wrox, 15 июня 2010 г., ISBN 0-470-56314-1
- Эндрю Чжу: Поваренная книга Microsoft Windows Workflow Foundation 4.0: Глава 3 , Packt Publishing, сентябрь 2010 г., ISBN 978-1-84968-078-3
Внешние ссылки
[ редактировать ]
- Windows Communication Foundation , портал MSDN Windows Communication Foundation.
- Библиотека MSDN: Windows Communication Foundation
- Руководство по безопасности WCF. Архивировано 14 марта 2011 г. на сайте Wayback Machine , Шаблоны и практики Microsoft — Повышение безопасности веб-служб: сценарии и рекомендации по реализации WCF. Выпущено 1 августа 2008 г.
- Понимание служб WCF в Silverlight 2. Архивировано 12 марта 2011 г. на Wayback Machine — подробное объяснение служб WCF для клиентов Silverlight.
- Дэвид Чаппелл: «Введение в WCF» и «Работа с разнообразием» , две статьи, посвященные WCF. Ноябрь 2007 г.
- Начало работы со службами WCF RIA — часть 1 из серии статей о службах WCF RIA
- Терминология .NET
- Связь и службы Windows
- Ранее проприетарное программное обеспечение
- Бесплатное программное обеспечение с открытым исходным кодом
- Интерфейсы прикладного программирования Microsoft
- бесплатное программное обеспечение Майкрософт
- Брокер запросов объектов
- Программное обеспечение, использующее лицензию MIT
- Windows Сервер 2008
- Windows Виста
- Веб-сервисы
- Продукты, связанные с сервис-ориентированной архитектурой
- программное обеспечение 2006 года