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.

Skip to main content