sagen, ich habe so etwas wie:WCF Datacontract Deserialisierung Problem mit leeren Werten
[DataContract(Namespace="http://bla.bla")]
public class MyClass {
[DataMember] public long ResponseCode { get; set; }
[DataMember] public long Fee { get; set; }
}
und Folgendes wird von einem Kanal kommt:
<ns0:MyResult>
<ns2:ResponseCode xmlns:ns2="http://bla.bla">101</ns2:ResponseCode>
<ns2:Fee xmlns:ns2="http://bla.bla"></ns2:Fee>
</ns0:MyResult>
Ich erhalte die Fehlermeldung:
----> System.Xml.XmlException: Der Wert '' kann nicht als Typ 'Int64' geparst werden. ----> System.FormatException: Die Eingabezeichenfolge hatte kein richtiges Format.
Ich verstehe nicht warum. Der Standardwert von IsRequired
Parameter von DataContract
ist false
, also erwarte ich, dass es ohne Fehler deserialize und initialisiert den fehlenden Wert mit Standardwerten für den Typ (Null). Was vermisse ich?
siehe hier: http://stackoverflow.com/questions/19656691/wcf-convert-empty-element-to-nullable-native-type/19681312#19681312 – Terry