Default Message Encodings

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.