Как настроить WebMethods для использования DataContractJsonSerializer - PullRequest
3 голосов
/ 24 июня 2011

Похоже, что веб-методы ASP.NET используют JavaScriptSerializer , поскольку он игнорирует мои атрибуты [DataContract] и [DataMember] в моих объектах.

У меня есть объект, который выглядит так:

[DataContract]
public class MyObject
{
    [DataMember("firstField")]
    public string FirstField { get; set; }
    [DataMember("secondField")]
    public string SecondField { get; set; }
}

Мой веб-метод выглядит так:

[WebMethod]
public static IEnumerable<MyObject> GetData() { ... }

Помимо прочего, я хочу, чтобы имена свойств JSON имели вид firstField , а не FirstField .

Есть ли способ настроить WebMethods для использования DataContractJsonSerializer , чтобы он учитывал аннотации DataMember?

1 Ответ

4 голосов
/ 24 июня 2011

[WebMethod] и любой из сериализаторов Data Contract являются совершенно не связанными частями технологии, и их нельзя смешивать.Если вы хотите использовать DataContractJsonSerializer, то вам нужно использовать WCF, а не старую технологию ASMX, используемую [WebMethod].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...