Windows Communication Foundation

Source: Wikipedia, the free encyclopedia.
Windows Communication Foundation (WCF)
Original author(s)Microsoft
Developer(s).NET Foundation
Initial releaseNovember 21, 2006; 17 years ago (2006-11-21)
Stable release
v3.4.0 / August 18, 2022; 20 months ago (2022-08-18)
Repositorygithub.com/dotnet/wcf
Written inC#
Operating systemLinux, macOS, Windows
Platform.NET Framework, .NET
PredecessorWeb Services Enhancements
TypeSoftware framework
LicenseMIT License
Websitedocs.microsoft.com/en-us/dotnet/framework/wcf/index

The Windows Communication Foundation (WCF), previously known as Indigo, is a

APIs in the .NET Framework for building connected, service-oriented applications.[1][2]

.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.[3]

The architecture

.NET Framework 3.0

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

REST
services.

Endpoints

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

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.[4]

Behaviors

Behaviors are types that modify or extend service or client functionality. Behaviors allow the developer to create custom processing, transformation, or inspection that is applied to messages as they are sent or received. Some examples of uses for behaviors are:

  • Controlling whether metadata is published with a service.
  • Adding security features to a service, such as impersonation, authorization,[5] or managing tokens
  • Recording information about messages, such as tracking, tracing, or logging
  • Message or parameter validation
  • Invoking all additional operations when messages are received—such as notifying users when certain messages arrive

Behaviors implement the IServiceBehavior interface for service extensions, the IEndpointBehavior for endpoints, the IContractBehavior interface for service contracts, or the IOperationBehavior for operations. Service behaviors are used for message processing across a service, rather than processing that would be specific to a single operation.

Interoperability

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.[6]

See also

References

  1. ^ Michele Leroux Bustamante. "Hosting WCF Services". CODE Magazine.
  2. ^ "Deploying an Internet Information Services-Hosted WCF Service". Microsoft Developer Network (MSDN). 15 September 2021.
  3. ^ "CoreWCF 1.0 has been Released, WCF for .NET Core and .NET 5+". .NET Blog. 2022-04-28. Retrieved 2022-06-06.
  4. ^ "AJAX Integration and JSON Support". Microsoft. Retrieved 2008-04-24.
  5. ^ "Custom Authentication and Authorization in WCF". TatvaSoft UK. Retrieved 2018-11-14.
  6. ^ "Introducing Windows Communication Foundation in .NET Framework 4". Microsoft. Retrieved 2011-07-17.

Further reading

External links