Senden array mit Objekten in WCF
In meiner Anwendung möchte ich die Daten speichern, indem Sie mit Hilfe von jQuery und Ajax.Ich habe einen WCF-Service.
Ich möchte zum speichern einer Liste von Objekten, die durch den Einsatz von ajax.Ich habe versucht mit folgenden code, aber es
funktioniert nicht.
jquery-code :
var listOfObjects=new Array();
//creating list of objects
for(var i=0;i<5;i++)
{ var MyEntity=new Object();
MyEntity.TestId =i;
MyEntity.TestId =i+"testName";
listOfObjects.push(MyEntity);
}
//Saving info
$.ajax({
type: "POST",
async: false,
data: JSON.stringify(listOfObjects),
url: "../ServiceLayer/myService.svc/SaveResults",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
alert("success");
},
error: function () {
alert("Error");
}
});
WCF :
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
public void SaveLabResults(List<MyEntity> myEntity)
{
var lstEntities=myEntity;
}
Person:
[DataContract]
public class MyEntity
{
[DataMember]
public string TestId { get; set; }
[DataMember]
public string TestName { get; set; }
}
In dieser Art und Weise bin ich versucht zu senden, die die Daten der Liste.Aber internal server error kommt.Ich bin nicht immer, wo ich eigentlich falsch bin.Gibt es irgendeine andere Weise zu senden, die Liste der Objekte an WCF ?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
jquery-code :
WCF :
Person:
Was mir fehlt war
Den 2. Punkt myEntity Schlüssel sollte vorhanden sein, in der letzten json-Objekt.Und der Schlüssel sollte
gleich sein wie die wcf-Methode-Objekt-parameter.
Dank
Versuchen
BodyStyle = WebMessageBodyStyle.Bare
für Ihre server-Methode oder einzuführen, die ein root-element mit dem Namen "myEntity" in Ihrer JSON-Daten vor dem AufrufJSON.stringify
in Ihrem client-code.Werden kann, das ist der Fehler:
und in der ajax-Funktion: