【问题标题】:How to configure WebMethods to use DataContractJsonSerializer如何配置 WebMethods 以使用 DataContractJsonSerializer
【发布时间】:2011-06-23 20:06:23
【问题描述】:

似乎 ASP.NET Web 方法使用 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 注释?

【问题讨论】:

    标签: c# asp.net ajax json


    【解决方案1】:

    [WebMethod] 和任何 Data Contract 序列化程序都是完全不相关的技术,它们不能混用。如果你想使用DataContractJsonSerializer,那么你需要使用WCF,而不是[WebMethod]使用的旧ASMX技术。

    【讨论】:

      猜你喜欢
      • 2013-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-13
      相关资源
      最近更新 更多