Как использовать $ .ajax (..) JSON для вызова веб-методов asmx, которые имеют аргументы «по ссылкам» для пользовательских классов / объектов?Является ли это возможным?
Мой код c # -
public class MyCustomClass{ public int MyProperty; MyCustomClass(){}}
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public Method1(ref MyCustomClass MyCustomObj)
{ MyCustomObj.MyProperty*=2; return MyCustomObj;}
Мой код js / jquery -
function myCustomClass(){this.myProperty;}
var myCustomObj = new myCustomClass();
myCustomObj.myProperty = 100;
$.ajax({
type: "POST",
data: "{'myCustomObj': " + JSON.stringify(myCustomObj) + "}",
url: "test.asmx/Method1",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) {
var data = response.d;
alert(data.MyProperty);
},
failure: function(msg) {
alert(msg);
}
});
Все это прекрасно работает, если аргумент webmethod НЕ является ref.С вышеупомянутой подписью веб-метода, то есть с аргументом by ref, я получаю ошибку сервера (в ответе сервера, замеченном с использованием firebub) -
No parameterless constructor defined...