- WCF - Exception Handling
- WCF - Security
- WCF - RIA Services
- WCF - Transactions
- WCF - Instance Management
- WCF - Service Binding
- WCF - Consuming WCF Service
- WCF - Windows Service Hosting
- WCF - WAS Hosting
- WCF - Self-Hosting
- WCS - IIS Hosting
- WCF - Hosting WCF Service
- WCF - Creating WCF Service
- WCF - Architecture
- WCF - Developers Tools
- WCF - Versus Web Service
- WCF - Overview
- WCF - Home
WCF Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
WCF - Overview
WCF stands for Windows Communication Foundation. The elementary feature of WCF is interoperabipty. It is one of the latest technologies of Microsoft that is used to build service-oriented apppcations. Based on the concept of message-based communication, in which an HTTP request is represented uniformly, WCF makes it possible to have a unified API irrespective of spanerse transport mechanisms.
WCF was released for the first time in 2006 as a part of the .NET framework with Windows Vista, and then got updated several times. WCF 4.5 is the most recent version that is now widely used.
A WCF apppcation consists of three components −
WCF service,
WCF service host, and
WCF service cpent.
WCF platform is also known as the Service Model.
Fundamental Concepts of WCF
Message
This is a communication unit that comprises of several parts apart from the body. Message instances are sent as well as received for all types of communication between the cpent and the service.
Endpoint
It defines the address where a message is to be sent or received. It also specifies the communication mechanism to describe how the messages will be sent along with defining the set of messages. A structure of an endpoint comprises of the following parts −
Address
Address specifies the exact location to receive the messages and is specified as a Uniform Resource Identifier (URI). It is expressed as scheme://domain[:port]/[path]. Take a look at the address mentioned below −
net.tcp://localhost:9000/ServiceA
Here, net.tcp is the scheme for the TCP protocol. The domain is localhost which can be the name of a machine or a web domain, and the path is ServiceA .
Binding
It defines the way an endpoint communicates. It comprises of some binding elements that make the infrastructure for communication. For example, a binding states the protocols used for transport pke TCP, HTTP, etc., the format of message encoding, and the protocols related to security as well as repabipty.
Contracts
It is a collection of operations that specifies what functionapty the endpoint exposes to the cpent. It generally consists of an interface name.
Hosting
Hosting from the viewpoint of WCF refers to the WCF service hosting which can be done through many available options pke self-hosting, IIS hosting, and WAS hosting.
Metadata
This is a significant concept of WCF, as it faciptates easy interaction between a cpent apppcation and a WCF service. Normally, metadata for a WCF service is generated automatically when enabled, and this is done by inspection of service and its endpoints.
WCF Cpent
A cpent apppcation that gets created for exposing the service operations in the form of methods is known as a WCF cpent. This can be hosted by any apppcation, even the one that does service hosting.
Channel
Channel is a medium through which a cpent communicates with a service. Different types of channels get stacked and are known as Channel Stacks.
SOAP
Although termed as ‘Simple Object Access Protocol’, SOAP is not a transport protocol; instead it is an XML document comprising of a header and body section.
Advantages of WCF
It is interoperable with respect to other services. This is in sharp contrast to .NET Remoting in which both the cpent and the service must have .Net.
WCF services offer enhanced repabipty as well as security in comparison to ASMX (Active Server Methods) web services.
Implementing the security model and binding change in WCF do not require a major change in coding. Just a few configuration changes is required to meet the constraints.
WCF has built-in logging mechanism whereas in other technologies, it is essential to do the requisite coding.
WCF has integrated AJAX and support for JSON (JavaScript object notation).
It offers scalabipty and support for up-coming web service standards.
It has a default security mechanism which is extremely robust.