ASP.Net ScriptMethod генерирует пустой JSON
Я использую JavaScript для доступа к методу ScriptService под названием GetPerson(). Проблема в том, что он возвращает довольно пустую строку JSON вместо фактической строки объекта. То же самое происходит, когда я возвращаю новый объект DateTime, поэтому я надеюсь, что этот класс исключен.
Это возвращается:
{"d":{"__type":"Person"}}
это мой WebService.cs:
using System;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Web.Script.Services;
/// <summary>
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class WebService : System.Web.Services.WebService
{
public WebService () {
//InitializeComponent();
}
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public Person GetPerson(string whatever)
{
Person x = new Person("gaga",DateTime.Now,null);
return x;
}
}
1 ответ
Решение
И так получается, что это действительно была проблема с моим файлом класса. Работает намного лучше с публичными свойствами.
public string name { get; set; }
2 часа отладки - ничто по сравнению с вдохновением, вызванным Stackru. DOH.