Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Среда выполнения и набор API в .NET Framework для создания подключенных, сервисно-ориентированных приложений.
Runtime and set of APIs in the NET Framework for building connected, service oriented applications
Windows Communication Foundation (WCF), ранее известная как Indigo, — это бесплатная среда выполнения с открытым исходным кодом и набор API в .NET Framework для создания подключенных, сервисно-ориентированных приложений. .NET Core 1.0, выпущенный в 2016 году, не поддерживал серверный код WCF. Поддержка WCF была добавлена в платформу с поддержкой .NET Core 3.1, .NET 5 и .NET 6 в 2022 году.
The Windows Communication Foundation (WCF), previously known as Indigo, is a free and open source runtime and a set of APIs in the NET Framework for building connected, service oriented applications. NET Core 1.0, released 2016, did not support WCF server side code. WCF support was added to the platform with support for NET Core 3.1, NET 5, and NET 6 in 2022.
Архитектура
WCF — это инструмент, который часто используется для реализации и развертывания архитектуры, ориентированной на сервисы (SOA). Он разработан на основе принципов сервисно-ориентированной архитектуры для поддержки распределенных вычислений, в которых сервисы имеют удаленных потребителей. Клиенты могут использовать несколько сервисов, а сервисы могут использоваться несколькими клиентами. Сервисы слабо связаны друг с другом. Как правило, сервисы имеют интерфейс WSDL (Web Services Description Language), который любой клиент WCF может использовать для взаимодействия с сервисом, независимо от платформы, на которой он размещен. WCF реализует множество передовых стандартов веб-сервисов (WS), таких как WS-Addressing, WS-ReliableMessaging и WS-Security. С выпуском .NET Framework 4.0, WCF также предоставляет сервисы RSS-синдикации, WS-Discovery, маршрутизацию и улучшенную поддержку сервисов REST.
WCF is a tool often used to implement and deploy a service oriented architecture (SOA). It is designed using service oriented architecture principles to support distributed computing where services have remote consumers. Clients can consume multiple services; services can be consumed by multiple clients. Services are loosely coupled to each other. Services typically have a WSDL interface (Web Services Description Language) that any WCF client can use to consume the service, regardless of which platform the service is hosted on. WCF implements many advanced Web services (WS) standards such as WS Addressing, WS ReliableMessaging and WS Security. With the release of NET Framework 4.0, WCF also provides RSS Syndication Services, WS Discovery, routing and better support for REST services.
Конечные точки
Клиент WCF подключается к службе WCF через конечную точку. Каждая служба предоставляет свой контракт через одну или несколько конечных точек. Конечная точка имеет адрес (URL-адрес, указывающий, где можно получить доступ к конечной точке) и свойства привязки, определяющие способ передачи данных. Мнемоническое правило "ABC" можно использовать для запоминания адреса/привязки/контракта. Привязка определяет, какие протоколы связи используются для доступа к службе, применяются ли механизмы безопасности и т.п. WCF включает предопределенные привязки для наиболее распространенных протоколов связи, таких как SOAP по протоколу HTTP, SOAP по протоколу TCP и SOAP по очередям сообщений и т.д. Взаимодействие между конечной точкой WCF и клиентом осуществляется с использованием SOAP-обертки. SOAP-обертки имеют простой XML-формат, что обеспечивает платформенную независимость WCF. Когда клиент хочет получить доступ к службе через конечную точку, ему необходимо знать не только контракт, но и соблюдать привязку, указанную конечной точкой. Таким образом, и клиент, и сервер должны иметь совместимые конечные точки. С выпуском .NET Framework 3.5 в ноябре 2007 года Microsoft выпустила кодировщик, добавивший поддержку формата сериализации JSON в WCF.
A WCF client connects to a WCF service via an endpoint. Each service exposes its contract via one or more endpoints. An endpoint has an address (which is a URL specifying where the endpoint can be accessed) and binding properties that specify how the data will be transferred. The mnemonic "ABC" can be used to remember address/binding/contract. Binding specifies what communication protocols are used to access the service, whether security mechanisms are to be used, and the like. WCF includes predefined bindings for most common communication protocols such as SOAP over HTTP, SOAP over TCP, and SOAP over Message Queues, etc. Interaction between WCF endpoint and client is done using a SOAP envelope. SOAP envelopes are in simple XML form, which makes WCF platform independent. When a client wants to access the service via an endpoint, it not only needs to know the contract, but it also has to adhere to the binding specified by the endpoint. Thus, both client and server must have compatible endpoints. With the release of the NET Framework 3.5 in November 2007, Microsoft released an encoder that added support for the JSON serialization format to WCF.
Совместимость
WCF обеспечивает взаимодействие с WCF-приложениями, работающими на той же машине Windows, с WCF-приложениями, работающими на других машинах Windows, или со стандартными веб-сервисами, созданными на платформах, таких как Java, работающих на Windows или других операционных системах. Помимо SOAP, WCF 4 поддерживает XML, не использующий SOAP, RSS, JSON и бинарные форматы для внешней связи по протоколам HTTP или HTTPS.
WCF supports interoperability with WCF applications running on the same Windows machine or WCF running on a different Windows machines or standard Web services built on platforms such as Java running on Windows or other operating systems. In addition to SOAP, WCF 4 supports non SOAP XML, RSS, JSON, and binary formats for external communication via HTTP or HTTPS.