次のようなサービスがあります。
[ServiceContract]
public interface IService
{
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "DoWork", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Person DoWork(Person person);
}
サービスの実装は次のとおりです。
public class Service : IService
{
public Person DoWork(Person person)
{
//To do required function
return person;
}
}
私のPerson
型定義は次のとおりです。
[DataContract]
public class Person
{
[DataMember]
public string Name { get; set; }
}
jQueryを使用してこのサービスを利用しようとしています:
var data = { 'person': [{ 'Name': 'xxxxx'}] };
$.ajax({
type: "POST",
url: URL, // Location of the service
data: JSON.stringify(data), //Data sent to server
contentType: "application/json", // content type sent to server
dataType: "json", //Expected data format from server
processData: false,
async: false,
success: function (response) {
},
failure: function (xhr, status, error) {
alert(xhr + " " + status + " " + error);
}
});
これを使用してサービスを呼び出すことはできますが、サービス メソッドのパラメーター (Person
オブジェクト)DoWork
は常に NULL です。どうすればこれを修正できますか?