2017-11-10 3 views
1

Ich habe eine WCF, um einige Daten in meine Datenbank zu speichern. In Entwicklungstools kann ich die Anfrage Nutzlast sehen wie folgt:C# WCF Service nicht Eigenschaften von Ajax Post

{"OrderId":123456,"Year":"2017","CustomerId":999999,"LicencePlates":[{"licenceNumber":"222222222222222"}]} 

Meine WCF-Service-Schnittstelle ist wie folgt:

[OperationContract] 
    [WebInvoke(UriTemplate = "/SaveLicenceData", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)] 
    void SaveLicenceData(int OrderId, int Year, string CustomerId, LicencePlate[] LicencePlates); 

Die Kennzeichen-Klasse ist:

public class LicencePlate 
{ 
    [DataMember] 
    public string LicenceNumber { get; set; } 
} 

Mit einem Breakpoint gesetzt, kann ich sehen, wie die OrderId bestanden, das Jahr bestanden und die CustomerId bestanden wird. Wie auch immer, LicenceNumber I wird immer null übergeben.

Ich habe versucht, die Gesamtklasse [Serializable] machen, aber der Haltepunkt wird nicht einmal getroffen, wenn ich das hinzufügen. Ich habe auch versucht, die Annotation zu ändern [DataMember(Name = "licenceNumber")], aber immer noch Null und dann die Annotation in [JsonProperty] geändert und immer noch Null.

Gibt es etwas Dummes, das ich hier verpasst habe?

+0

hat die Wsdl Klasse Vorstellungen? –

Antwort

0

Ich denke, Sie haben einen Fall nicht übereinstimmen. In Ihrer Nutzlast haben Sie

"licenceNumber":"222222222222222" 

sollte es sein

"LicenceNumber":"222222222222222"