What is WCF?
In a nutshell, WCF is a framework for building and hosting services. WCF services make use of standard technologies to offer a wide range of cross-platform security, transaction, and communication capabilities.
Before WCF came along, .NET developers who built distributed applications had to choose between communication schemes such as ASP.NET web services, .NET remoting, and Message Queuing (MSMQ). This choice carried with it implications for how the component was designed, developed, deployed, and consumed. If you went with ASP.NET web services, you were committing to XML message formats and were handcuffed by limitations of the HTTP transport protocol. If you chose .NET remoting, you were able to process messages in an efficient fashion, but have immediately limited yourself to .NET-only service clients. MSMQ is wonderful for disconnected applications, but in choosing it you've eliminated any chance at having a synchronous, request-response conversation with a software...