What message encoding do I get if I don't include one in the binding?
A message encoding binding element is required for any binding that uses an encoding-aware transport. However, it turns out that most transport binding elements include a default message encoding if you don't specify one explicitly. The default message encoding isn't standardized as you aren't supposed to try to build a binding without one if the transport requires it.
- HttpTransportBindingElement: text
- HttpsTransportBindingElement: text
- NamedPipeTransportBindingElement: binary
- TcpTransportBindingElement: binary
- MsmqIntegrationBindingElement: none (although technically binary)
- MsmqTransportBindingElement: binary
- PeerTransportBindingElement: binary
All of these construct the default message encoding as if you instantiated the message encoding binding element with no additional settings.