Покажите нам ваши классы, которые отправляются обратно в ответ от вашей службы WCF! Без них это в лучшем случае игра в догадки ....
Вы можете поместить определенные атрибуты, связанные с DataContract, в свойства, чтобы включить или исключить их из процесса сериализации в WCF.
По сути, с WCF в .NET 3.5 SP1 вам не нужно специально специально маркировать ваши классы и их свойства специальными атрибутами. Если вы этого не сделаете, сериализатор DataContract будет действовать как сериализатор XML: все общедоступные свойства сериализуются.
Если вы не хотите включать определенные свойства в сериализацию, у вас нет выбора, кроме
- поместите атрибут
[DataContract]
в ваши классы, а
- поместите атрибут
[DataMember]
в свои поля и свойства, которые вы хотите сериализовать
Все, что не украшено атрибутом [DataMember], будет пропущено и не будет включено в ответное сообщение WCF.
Так что в вашем случае вам придется сделать что-то вроде
[DataContract]
class GetCertMailReceiptNumbersResult
{
// no DataMember attribute --> will not be included!
int AccountNumber {get;set;}
string Address1 {get;set;}
......
string Password {get;set;}
// here, include DataMember attributes --> will be included
[DataMember]
int ReturnCode {get;set;}
[DataMember]
string ReturnMessage {get;set;}
// and so forth
}
По сути, для каждого типа в вашей службе WCF вам необходимо принять решение, какие поля и свойства включить, - пометьте их атрибутом [DataMember]
. Все остальное не будет включено в ваше сериализованное сообщение.