My project has a netTCP WCF service. This is the app.config for it:
Use compression .. In 4.5
Do not use namespaces set namespace to "" (and on the service contract as well.) [DataContract(Namespace = "" )] public class AddDeckMessage
Rarely ( if ever send Interfaces / base classes on XML) ... XML does not understand and it adds Microsoft explcit XML. Do not use knowntype use plain DTOs which you can customize to the wire...
Use EmitDefaultValue
Be careful with byte[] with non tcp compression. If you see it as 123 your seeing 15-30 bytes for each byte depending on encoding. Use uuencode if you need to use standard WS protocols.