I’m trying to study the WCF Web Services but I’m a bit confused about the protocol ABC (Address, Binding and Contract). I know what does each one, but I can’t see the difference between it and the protocol WSDL. To me, both are the same.
What are the differences?
Really thanks
WCF services are not tightly bound to any particular protocol as it is configurable (loosely coupled), the code behind the service doesn’t have to worry about what protocol the service is interacting with (TCP / SOAP etc). You correctly identify the ABC of the service and have the explanations correct.
The WSDL (Web Service Description Language) comes in to play when the WCF is exposed over the internet and HTTP / SOAP. It is a descriptive definition of the service such as the types including complex types, messages, and methods.
A ddress – Every WCF service must have an address (the location of the service), it can be an HTTP, TCP, NamedPipe etc
B inding – This defines how to communicate with the WCF service, either via HTTP, TCP, NamedPipe etc
C ontract – This defines what your WFC service actually does.
You define your ABC but usually the WSDL is automatically generated. The WSDL defines how to interact with your WCF, but not how the WCF actually works – that’s the job of ABC