Заставить WCF использовать NetDataContractSerializer\DataContractSerializer
Как я могу указать определенной службе WCF использовать DataContractSerializer или NetDataContractSerializer?
Предположим, у меня получится, будет ли сгенерированный прокси автоматически идентифицировать его и использовать правильный?
1 ответ
DataContractSerializer
используется по умолчанию. На стороне сервиса вы можете контролировать используемые сериализаторы с поведением. По умолчанию у вас есть в наличии DataContractFormat
а также XmlSerializerFormat
атрибуты для этого. Эти атрибуты могут применяться к контракту на обслуживание, реализации сервиса или операциям. На стороне клиента svcutil будет использовать сериализацию контракта данных, если описание типов сериализуемо DataContractSerializer
в противном случае он будет использовать XmlSerializer
,
NetDataContractSerializer
не подготовлено поведение - вы должны создать его сами. Это также не распознается клиентами, потому что, когда вы используете NetDataContractSerializer
вы будете делиться сборками с типами (контракты на данные, сервисные контракты) с клиентом, чтобы вы могли также поделиться поведением и пометить сервисный контракт с этим поведением напрямую.