Да, в пользовательской привязке разрешен только один элемент привязки кодировки.На мой взгляд, мы могли бы добиться того, что вы хотите, в следующем методе.Сначала определите пользовательскую привязку, включая BinaryMessageEncoding, и установите формат сжатия равным Gzip.
<binaryMessageEncoding compressionFormat="GZip">
Затем, используя строку JSON в качестве передаваемых параметров.
JsonConvert.SerializeObject(person);
И клиент выбираетзначение путем десериализации параметров.
Person person = JsonConvert.DeserializeObject<Person>(proxy.GetPersonDetailWithJson("123"));
Следует отметить, что в некоторых указанных случаях следует избегать сериализации json, поскольку использование json для сериализации и десериализации объекта требует времени и ресурсов (ЦП, ОЗУ).