WCF provides a runtime environment for your services, enabling you to expose Common Language Runtime (CLR) types as services and to consume other services as CLR.
WCF is Microsoft’s implementation of a set of industry standards defining service interactions, type conversions, marshaling, and the management of various protocols. Consequently, WCF provides interoperability between services.
WCF provides developers with the essential off-the-shelf plumbing required by almost all applications and, as such, it greatly increases productivity.
The first release of WCF (as part of .NET 3.0) provided many useful facilities for developing services, such as hosting, service instance management, asynchronous calls, reliability, transaction management, disconnected queued calls, and security.
The second release of WCF (as part of .NET 3.5) provided additional tools and extended the original offering with additional communication options.
The third release (as part of .NET 4.0) includes configuration changes, a few extensions, and the new features of discovery and routers.
While not directly related to .NET 4.0, WCF is also extended to support the Windows Azure Platform AppFabric Service Bus.
WCF has an elegant extensibility model you can use to enrich the basic offering. In fact, WCF itself is written using this extensibility model.
WCF is part of .NET 4.0, so it can run only on operating systems that support it. Presently, this list consists of Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, and Windows 7 or later.
Most of the WCF functionality is included in a single assembly called System.ServiceModel.dll, located in the System.ServiceModel namespace.