, was der Unterschied zwischen Klasse ist ohne Datacontract-Attribute:Datacontract & Datamember Attribute - wie sie Art beeinflussen
public class BankOperationResult
{
public int CurrentAmount { get; set; }
public bool Success { get; set; }
}
und die gleiche Klasse mit Datacontract-Attribute:
[DataContract]
public class BankOperationResult
{
[DataMember]
public int CurrentAmount { get; set; }
[DataMember]
public bool Success { get; set; }
}
Ich meine, tut WCF behandelt diese beiden Arten in unterschiedlicher Weise bei der Codierung usw.?
Mit oder ohne diese Attribute meines WCF-Dienst funktioniert ...
Danke, Pawel
Leider ist es im 3.5 SP1-Fall nicht ganz so einfach, aber das ist die Grundidee. Ohne die in der Klasse definierten DataContract- oder DataMember-Attribute werden alle Felder * und * -Eigenschaften in XML serialisiert. Dazu gehören die privaten automatisch generierten Sicherungsspeicherfelder für automatische Eigenschaften der Form 'public int MyValue {get; einstellen; } 'und nennt sie' k__BackingField'. Wenn Sie die Attribute DataContract und DataMember explizit hinzufügen, wird der DataContractSerializer auf die private Feldserialisierung verzichten. –