Windows Communication Foundation (WCF – formerly known as Indigo) provides a uniform way of developing distributed applications by providing a service-oriented programming model. WCF is the technology in .NET which is used to build Service Oriented Applications (SAO), to exchange messages in various communication scenarios, and to run workflows built from service operations.
WCF has an elegant extensibility model which can be used to enrich the basic offering. Most of the WCF functionality is included in a single assembly called System.ServiceModel.dll, located in the System.ServiceModel namespace.
WCF provides a runtime environment for services, enabling exposure of Common Language Runtime (CLR) types as services and consumption of other services as CLR types. 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.