Are all WCF endpoint types capable of the same things? IS the only difference the transmission type and security?
views:
107answers:
2Well no. An endpoint is the combination of an address, binding and a contract. Each of those 3 can vary and would make it different. The contract would influence which logical operation the service can perform, the binding influence the transmission type and some of it's features (which I think you are asking about). Check out this table to see which bindings support which properties.
Here's a difference with the MSMQ bindings:
With MSMQ, the OperationContract methods must return void, and must have the IsOneWay attribute ([OperationContract(IsOneWay=true)]). Since MSMQ does not respond is a fashion similar to a HTTP response, the MSMQ messages are basically "fire-and-forget" and do not return anything.
The MSMQ Integration binding is also different than all other WCF bindings. MSMQ Integration was designed to work with non-WCF-based partners, so it actually calls for you to include MsmqMessage as part of the OperationContract parameters.