【问题标题】:Name attribute of DataMember in WCF looks like not workingWCF 中 DataMember 的名称属性看起来不起作用
【发布时间】:2018-05-28 05:51:27
【问题描述】:

我将 WCF 服务暴露给多个客户端。在某些客户端数据成员名称中,大小写不正确。根据套管标准,我的类属性具有无效的属性名称,例如

public class TransactionParamter
{
    [DataMember]
    public string orderId;
    [DataMember]
    public string orderDetails;
    [DataMember]
    public double orderSumTotal;
}

我试过改成

public class TransactionParamter
{
    [DataMember(Name= "orderId")]
    public string OrderId;
    [DataMember(Name= "orderDetails")]
    public string OrderDetails;
    [DataMember(Name= "orderSumTotal")]
    public double OrderSumTotal;
}

但是当看起来数据成员 Name 属性不起作用时。 我已经尝试过 WCF 测试客户端,并且在获取 WCF 参考时,它显示了像 OrderId 和 OrderDetails 这样的属性,而不是我在名称属性中声明的那个。 请帮我改正

【问题讨论】:

    标签: c# wcf .net-4.5


    【解决方案1】:

    我相信你忘了用DataContract 装饰你的班级。您需要它才能使自定义数据成员名称起作用。

    [DataContract(Name="transactionParamter")]
    public class TransactionParamter
        {
            [DataMember(Name= "orderId")]
            public string OrderId;
            [DataMember(Name= "orderDetails")]
            public string OrderDetails;
            [DataMember(Name= "orderSumTotal")]
            public double OrderSumTotal;
    }
    

    【讨论】:

      猜你喜欢
      • 2018-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-18
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多