Windows Communication Foundation is a part of the .NET Framework that provides a unified programming model for rapidly building service-oriented applications.
According to the Microsoft Developer Center:
Windows Communication Foundation (WCF) is a part of the .NET Framework that provides a unified programming model for rapidly building service-oriented applications that communicate across the web and the enterprise.
WCF Resources
- The WCF Developer Center
- Beginner's Guide to Windows Communication Foundation
- Resources and Community
- Introducing Windows Communication Foundation in .NET Framework 4
- A Developer's Introduction to Windows Communication Foundation 4 (Aaron Skonnard)
- WCF Client Overview
- WCF Tracing
- Configuring WCF Services in Code
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.
The Windows Communication Foundation (or WCF), previously known as "Indigo", is a runtime and a set of APIs in the .NET Framework for building connected, service-oriented applications.
Endpoints
A WCF client connects to 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.
WCF Features
- Create and consume traditional SOAP-based web services
- Create and consume services that use the international WS-* standards
- Create and consume services using other transports:
- TCP/IP with binary instead of text-based XML
- Named Pipes
- Microsoft Message Queue (MSMQ)
- Host a WCF Service in any application, not just in IIS
- Host a service in IIS with any transport, not just HTTP/HTTPS
- Create services based on Windows Workflow Foundation workflows