Пользовательская XML-сериализация WCF - PullRequest
1 голос
/ 06 марта 2011

В WCF, если у меня есть такой код, и я возвращаю его в формате XML, он генерируется автоматически.Могу ли я точно указать, какой XML будет использоваться для сериализации CustomerEntity?

[OperationContract]    
[WebInvoke(Method = "GET"]
CustomerEntity GetCustomer(int customerPk);

Альтернативой, которую я сейчас использую, является возврат XElement, но проблема в том, чтоЯ также не могу поддерживать JSon таким образом.

Обновление: мои типы неизменны и используют свойства raedonly, поэтому IXmlSerializable не будет работать для меня.

Ответы [ 2 ]

2 голосов
/ 06 марта 2011

Реализация IXmlSerializable на CustomerEntity.

1 голос
/ 06 марта 2011

Вы можете попробовать использовать необработанные сообщения, т. Е. Использовать типы контрактов, производные от класса Message, и писать сообщения так, как вам нужно, переопределяя OnWriteBodyContents и другие переопределяемые члены класса Message. Пожалуйста, обратитесь "Наследование от класса сообщений" раздел gof следующей статьи MSDN, чтобы узнать больше о переопределяемых членах класса Message, http://msdn.microsoft.com/en-us/library/ms734675.aspx

НТН, Amit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...